Codeforces Round #598 DIV3 E問題
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N, A[2d5], ind[2d5];
int res[2d5], dp[200001], bk[200001], sz;
{
rd(N,A(N));
rep(i,N) ind[i] = i;
sortA(N,A,ind);
dp[0] = 0;
rep(i,N){
dp[i+1] = int_inf;
rep(j,3,6) if(i-j+1 >= 0 && dp[i+1] > dp[i-j+1] + A[i] - A[i-j+1]){
dp[i+1] = dp[i-j+1] + A[i] - A[i-j+1];
bk[i+1] = j;
}
}
while(i){
sz++;
rep(j,bk[i]) res[ind[i-1-j]] = sz;
i -= bk[i];
}
wt(dp[N], sz);
wt(res(N));
}
Current time: 2024年04月20日18時52分07秒
Last modified: 2019年11月10日22時39分52秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF598 CF_Div3_E
トップページに戻る
Logged in as: unknown user (not login)