第二回全国統一プログラミング王決定戦本戦 C問題 - Largest N

Source

第二回全国統一プログラミング王決定戦本戦
問題文

問題概要

省略

解法

省略

cLayversion 20191227-1)のコード

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

int X, Y, K, A, B;
Grid2d<int> S;

int ar1[3000], ar2[3000], sz;

{
  int x, y, z, k;
  int res = 0;
  set<int> st;
  rd(X,Y,K);
  S.malloc(X,Y);
  rep(i,X) rep(j,Y) S[i][j] = 1;
  rep(K){
    rd(A--,B--);
    S[A][B] = 0;
  }
  S.setDirMatch(1);

  rep(x,X) rep(y,Y) if(x==0 || y==0){
    z = 0;
    sz = 0;
    for(;;){
      if(x+z >= X || y+z >= Y || S[x+z][y+z]==0){
        if(sz){
          st.clear();
          rep(i,sz){
            st.insert(i);
            for(;;){
              k = *(st.lower_bound(i - ar2[i] + 1));
              if(ar1[k] >= i - k + 1) break;
              st.erase(k);
            }
            res >?= i - k + 1;
          }
          sz = 0;
        }
        if(x+z==X || y+z==Y) break;
        z++; continue;
      }
      arrInsert(sz,sz,ar1,S.dw[x+z][y+z],ar2,S.up[x+z][y+z]);
      z++;
    }
  }
  wt(res);
}

Current time: 2021年09月28日23時15分38秒
Last modified: 2019年12月27日22時39分00秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: