AtCoder Beginner Contest 141 E問題 - Who Says a Pun?

Source

AtCoder Beginner Contest 141
問題文

問題概要

省略

解法

省略

cLayversion 20190914-1)のコード

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

int N;
char S[5002];

int SA[5002], LCP[5002];
{
  int i, j, k;
  int res = 0;
  rd(N,S);
  SuffixArray(S, N, 128, SA, LCP);
  rep(i,1,N+1){
    k = int_inf;
    rep(j,i+1,N+1){
      k <?= LCP[j];
      res >?= min( abs(SA[j]-SA[i]), k );
    }
  }
  wt(res);
}

cLayversion 20190914-1)のコード

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

int N;
char S[5002];

int SA[5002], LCP[5002];
{
  int i, j, ok, mn, mx;
  int res = 0;
  rd(N,S);
  SuffixArray(S, N, 128, SA, LCP);
  res = bsearch_max[int,x,0,N/2][
    ok = 0;
    i = 1;
    while(i < N+1){
      j = i;
      mn = mx = SA[i];
      while(j+1 < N+1 && LCP[j+1] >= x){
        j++;
        mn <?= SA[j];
        mx >?= SA[j];
      }
      if(mx - mn >= x) ok = 1, break;
      i = j + 1;
    }
  ](ok);
  wt(res);
}

Current time: 2021年09月27日22時52分46秒
Last modified: 2019年09月16日00時11分26秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC141 ABC_E
トップページに戻る

Logged in as: unknown user (not login)

ログイン: