鹿島建設プログラミングコンテスト2020(AtCoder Regular Contest 110) C問題 - Exoswap

Source

鹿島建設プログラミングコンテスト2020(AtCoder Regular Contest 110)
問題文

問題概要

省略

解法

省略

cLayversion 20201206-1)のコード

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

int N, P[2d5], ind[2d5];
int ress, res[2d5], us[2d5];
{
  rd(N,(P--)(N));
  rep(i,N) ind[P[i]] = i;

  rrep(k,N){
    while(ind[k] < k){
      i = ind[k];
      us[i]++;
      if(us[i] > 1) wt(-1), return 0;
      swap(P[i], P[i+1]);
      ind[P[i]] = i;
      ind[P[i+1]] = i+1;
      res[ress++] = i;
    }
  }

  if(ress != N-1) wt(-1), return 0;
  wtLn(res(ress) + 1);
}

Current time: 2021年09月28日07時58分59秒
Last modified: 2020年12月06日02時30分33秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest ARC110 ARC_C
トップページに戻る

Logged in as: unknown user (not login)

ログイン: