結果
問題 | No.2102 [Cherry Alpha *] Conditional Reflection |
ユーザー |
![]() |
提出日時 | 2022-10-18 11:13:19 |
言語 | C90 (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 40 ms / 3,000 ms |
コード長 | 993 bytes |
コンパイル時間 | 162 ms |
コンパイル使用メモリ | 23,296 KB |
実行使用メモリ | 19,328 KB |
最終ジャッジ日時 | 2024-06-28 20:08:27 |
合計ジャッジ時間 | 5,888 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 70 |
コンパイルメッセージ
main.c: In function ‘main’: main.c:57:35: warning: multi-character character constant [-Wmultichar] 57 | *(int*)wp='\noN'; | ^~~~~~ main.c:62:35: warning: multi-character character constant [-Wmultichar] 62 | *(int*)wp='\nseY'; | ^~~~~~~ main.c:69:9: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration] 69 | write(1,wbuf,wp-wbuf); | ^~~~~ main.c:70:9: warning: implicit declaration of function ‘_exit’ [-Wimplicit-function-declaration] 70 | _exit(0); | ^~~~~ main.c:70:9: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]
ソースコード
#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd_skip() while(*rp++>=48) typedef unsigned long ulong; char wbuf[1<<25]; #define HASH_BITS 21 #define HASH_MASK ((1<<HASH_BITS)-1) ulong hash[1<<HASH_BITS]; int main(){ char*mmap(); char*rp=mmap(0l,1l<<25,1,2,0,0ll); rd_skip(); char*wp=wbuf; while(*rp){ ulong h=0; long c; while(c=*rp++,c!=10){ h=h*27+c; } ulong aa=~0; { ulong a=h&HASH_MASK; while(1){ if(hash[a]==h){ goto yes; } if(hash[a]==0){ aa=a; break; } a=a+1&HASH_MASK; } } char*p=rp-1; long b=*--p; ulong m=26; while(c=*--p,c!=10){ ulong h2=h+(b-c)*m; ulong a=h2&HASH_MASK; while(1){ if(hash[a]==h2){ goto yes; } if(hash[a]==0){ break; } a=a+1&HASH_MASK; } m*=27; b=c; } if(1){ *(int*)wp='\noN'; wp+=3; } if(0){ yes:; *(int*)wp='\nseY'; wp+=4; } if(~aa){ hash[aa]=h; } } write(1,wbuf,wp-wbuf); _exit(0); }