tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

SRM 602

やっぱりMediumが解けません…

250: かつっぱ~とTopCoder
dpやるだけ。まあ許されるスピード。target陣速すぎ。

public class TypoCoderDiv1{
	public int getmax(int[]a,int b){
		int n=a.length;
		int dp[][]=new int[n+2][2200];
		for(int i=0;i<n+2;i++)
			for(int j=0;j<2200;j++)
				dp[i][j]=-999999999;
		dp[0][b]=0;
		for(int i=0;i<n;i++){
			for(int j=0;j<2200;j++){
				dp[i+1][Math.max(0,j-a[i])]=Math.max(dp[i+1][Math.max(0,j-a[i])],dp[i][j]);
				if(j+a[i]<2200){
					dp[i+1][j+a[i]]=Math.max(dp[i+1][j+a[i]],dp[i][j]);
				}else{
					if(i<n-1&&j+a[i]-a[i+1]<2200){
						dp[i+2][Math.max(0,j+a[i]-a[i+1])]=Math.max(dp[i+2][Math.max(0,j+a[i]-a[i+1])],dp[i][j]+2);
					}else if(i==n-1){
						dp[i+1][j]=Math.max(dp[i+1][j],dp[i][j]+1);
					}
				}
			}
		}
		int ret=0;
		for(int i=0;i<2200;i++)ret=Math.max(ret,dp[n][i]);
		return ret;
	}
}

550: 蛇のすぬけ
データ構造やるだけ。しかし罠が多い。
resubmit間に合いませんでした><

1000: 知らん

Challenge Phase:
resubmit時に訂正せねばなあと思っていた罠で一人550落として勝利

233.4 + 0 + 0 + 50 = 283.4 (39th)
Rating: -INF -> 2388 (+53)