2019年06月02日04時32分35秒に更新されたバージョンを表示しています.
最新のページはこちらをご覧ください.


Codeforces Global Round 3 E問題 - Earth Wind and Fire

Source

Codeforces Global Round 3 E問題 (1750pt)
Problem description

問題概要

省略

解法

省略

cLayversion 20190601-1)のコード

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: 2021年11月29日17時19分26秒
Last modified: 2019年06月02日04時32分35秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces Codeforces_Global_Round_3
トップページに戻る

Logged in as: unknown user (not login)

ログイン: