yukicoder No.837 - Noelちゃんと星々2

Source

ニコニコミュニティ
問題文

問題概要

省略

解法

省略

cLayversion 20190706-1)のコード

C++に変換後のコードはこちら

int N;
int Y[1d5];
ll res1[100001], res2[100001];

void solve(ll res[]){
  int i;
  ll mid;
  ll cnt1 = 0, cnt2 = 0;
  ll sum1 = 0, sum2 = 0;

  rep(i,N){
    if(i%2==0){
      cnt2++;
      sum2+=Y[i];
    } else {
      cnt1++;
      sum1+=Y[i/2];
      sum2+=Y[i]-Y[i/2];
    }
    mid = Y[i/2];

    res[i+1] = (mid*cnt1 - sum1) + (sum2 - mid*cnt2);
  }
}

{
  int i;
  ll res;
  rd(N,Y(N));
  sort(Y, Y+N);

  if(Y[0]==Y[N-1]){
    res = 1;
  } else {
    solve(res1);
    reverse(Y,Y+N);
    rep(i,N) Y[i] *= -1;
    solve(res2);

    res = ll_inf;
    rep(i,1,N) res <?= res1[i] + res2[N-i];
  }

  wt(res);
}

Current time: 2024年04月24日16時22分44秒
Last modified: 2019年07月06日12時09分53秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: