Codeforces Round #598 DIV3 E問題 - Yet Another Division Into Teams

Source

Codeforces Round #598 DIV3 E問題
Problem description

問題概要

省略

解法

省略

cLayversion 20191110-1)のコード

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: 2022年05月18日08時41分49秒
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)

ログイン: