Codeforces Global Round 3 E問題 (2250pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N, S[3d5], T[3d5], ind[3d5];
int ps, pp[3d5], pv[3d5];
int ns, np[3d5], nv[3d5];
int ress, resI[15d5], resJ[15d5], resD[15d5];
{
int i, j, k;
rd(N,S(N),T(N));
rep(i,N) ind[i] = i+1;
sortA(N,S,ind);
sort(T,T+N);
rep(i,N){
if(S[i] < T[i]){
pp[ps] = i;
pv[ps++] = T[i] - S[i];
} else if(S[i] > T[i]){
np[ns] = i;
nv[ns++] = S[i] - T[i];
}
}
while(ps && ns){
if(pp[ps-1] > np[ns-1]) break;
k = min(pv[ps-1], nv[ns-1]);
resI[ress] = ind[pp[ps-1]];
resJ[ress] = ind[np[ns-1]];
resD[ress] = k;
ress++;
pv[ps-1] -= k;
nv[ns-1] -= k;
if(pv[ps-1]==0) ps--;
if(nv[ns-1]==0) ns--;
}
if(ps || ns){
wt("NO");
} else {
wt("YES");
wt(ress);
rep(i,ress) wt(resI[i], resJ[i], resD[i]);
}
}
Current time: 2024年03月29日09時54分36秒
Last modified: 2019年06月02日04時33分27秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces Codeforces_Global_Round_3
トップページに戻る
Logged in as: unknown user (not login)