結果
問題 | No.765 ukuku 2 |
ユーザー |
![]() |
提出日時 | 2018-12-14 02:28:43 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 72 ms / 3,000 ms |
コード長 | 567 bytes |
コンパイル時間 | 2,387 ms |
コンパイル使用メモリ | 173,488 KB |
実行使用メモリ | 10,312 KB |
最終ジャッジ日時 | 2024-07-05 13:14:46 |
合計ジャッジ時間 | 5,053 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 48 |
ソースコード
char s[3d5]; ll n,t[2d5],u[2d5],v[2d5],h[128]; ll nib(ll a,ll b){ ll c=min(a,n-1-b)+1; ll d=0; while(d<c-1){ ll e=(c+d)/2; if(t[a-e]-u[b+e]==(t[a]-u[b])*v[e]){ d=e; }else{ c=e; } } return d; } { rd(s); n=strlen(s); { Rand r; h[0..127]=r.get(); ll d; d=0; t[n-(1..n)]=d=d*3+h[s[n-(1..)]]; d=0; u[0..n-1]=d=d*3+h[s[0..]]; d=1; (v[0..n-1]=d, d*=3); } { ll r=0; rep(i,n*2-1){ ll a,b,d; d=nib(a=(i+1)/2,b=i/2); if(a-d>0) r>?=b+1-a+(d+nib(a-d-1,b+d))*2; if(b+d<n-1) r>?=b+1-a+(d+nib(a-d,b+d+1))*2; } wt(r); } }