Codeforces Global Round 8 F問題 (3000pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//interactive
{
int @N;
int i, k, b, r, per, mx = -1, tmp, now[1000] = {};
int sz, lis[1000];
if(N <= 3) wt(0), return 0;
rep(k,2,N+1){
(b, r) = (N / k, N % k);
if(b < k) break;
tmp = (k-1) * (b-1) + max(0, r-1);
if(mx < tmp) mx = tmp, per = k;
}
for(;;){
sz = 0;
rep(i,N) if(now[i]==0 && i%per!=per-1 && i!=N-1) lis[sz++] = i;
if(sz < per) break;
rep(i,per) now[lis[i]] = 1;
wt(per, lis(per)+1);
rd(k--);
rep(i,per) now[(k+i)%N] = 0;
}
wt(0);
}
Current time: 2024年03月29日07時46分30秒
Last modified: 2020年09月11日06時47分18秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces Codeforces_Global_Round_8
トップページに戻る
Logged in as: unknown user (not login)