diverta 2019 Programming Contest 2 C問題 - Successive Subtraction

Source

diverta 2019 Programming Contest 2
問題文

問題概要

省略

解法

省略

cLayversion 20190902-1)のコード

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

int N, A[1d5];

int res, ress, resx[1d5], resy[1d5];

inline int doit(int x, int y){
  resx[ress] = x;
  resy[ress++] = y;
  return x - y;
}

{
  int i, j, k, mi, mx;
  rd(N,A(N));

  mi = argmin[k=0---N-1](A[k]);
  mx = argmax[k=0---N-1](A[k]);
  if(mi==mx) mx++;

  rep(i,N){
    if(i==mi || i==mx) continue;
    if(A[i] >= 0) A[mi] = doit(A[mi], A[i]);
    else          A[mx] = doit(A[mx], A[i]);
  }
  res = doit(A[mx], A[mi]);

  wt(res);
  rep(i,ress) wt(resx[i], resy[i]);
}

Current time: 2021年09月28日22時53分17秒
Last modified: 2019年09月04日00時13分09秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: