SRM 616

多少はね。

250: いかにも二分探索をしたくなるヤツ
シミュレーションするだけ。

public class WakingUp{
	public int maxSleepiness(int[]a,int[]b,int[]c,int d){
		int ret=0;
		int val=5040;
		int now=0;
		int n=a.length;
		for(int i=1;i<=val;i++){
			now+=d;
			for(int j=0;j<n;j++){
				if(i%a[j]==b[j]%a[j])now-=c[j];
			}
			ret=Math.max(ret,-now);
		}
		if(now<0)return -1;
		return ret;
	}
}

500: なんか今日の夕方といた過去問に似てるヤツ *1
隣同士の商をソートして適当に回すだけ。

import java.util.*;
public class ColorfulCoins{
	public int minQueries(long a[]){
		int n=a.length;
		long b[]=new long[n-1];
		for(int i=0;i<n-1;i++)b[i]=a[i+1]/a[i];
		Arrays.sort(b);
		for(int i=1;i<=5;i++){
			boolean ok=true;
			for(int j=0;j<n-1;j++){
				int m=j+1;
				for(int k=0;k<i;k++){
					m/=b[j];
				}
				if(m>0)ok=false;
			}
			if(ok)return i;
		}
		return 6;
	}
}

1000: 暇つぶし
問題文は全部読みました。その後pixivに移動。

Challenge Phase:

  • なぜかrandomという単語が見られる500をそれっぽく落とす→これ送るのさすがにひどすぎでは…
  • 250のLCMを積にしていてオーバーフロー

224.37 + 373.82 + 0 + 100 = 698.19 (3rd)
Rating: 2394 -> 2527 (+133)

Highest更新。最高順位更新。
Medium瞬時に見えたし実装も激軽だったし落ち着いてできた。Easyも軽かった。問題文は読みづらかった。

*1: