Codeforces Round #592 DIV2 G問題 (3000pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N; ll K;
int p[1d6], q[1d6];
{
ll res = 0;
int j, g, m;
rd(N,K);
rep(i,N) K -= i + 1;
if(K < 0) wt(-1), return 0;
rep(i,N) p[i] = i + 1;
rep(i,N){
j = N - i;
g = max(0, j - p[i]);
if(g >= K){
j = p[i] + K;
q[i] = j;
m = 1;
rep(k,i+1,N){
if(m==j) m++;
q[k] = m++;
}
break;
} else {
K -= g;
q[i] = j;
}
}
rep(i,N) res += max(p[i],q[i]);
wt(res);
wt(p(N));
wt(q(N));
}
Current time: 2024年03月28日23時20分41秒
Last modified: 2019年11月02日02時59分04秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF592 CF_Div2_G
トップページに戻る
Logged in as: unknown user (not login)