結果
問題 | No.910 素数部分列 |
ユーザー |
![]() |
提出日時 | 2021-12-23 17:45:01 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 1,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 218 ms |
コンパイル使用メモリ | 29,568 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-17 16:13:00 |
合計ジャッジ時間 | 2,044 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
コンパイルメッセージ
main.c: In function 'f2': main.c:31:9: warning: implicit declaration of function 'write' [-Wimplicit-function-declaration] 31 | write(1,wp,wbuf+sizeof wbuf-wp); | ^~~~~ main.c:32:9: warning: implicit declaration of function '_exit'; did you mean '_Exit'? [-Wimplicit-function-declaration] 32 | _exit(0); | ^~~~~ | _Exit
ソースコード
#pragma GCC optimize("Ofast") #pragma GCC target("avx2") typedef unsigned long ulong; ulong f1(){ char*mmap(); char*rp=mmap(0l,1l<<25,1,2,0,0ll); while(*rp++!=10); long a1=0,a9=0,z=0; for(long c;c=*rp++,c>='0';){ if(c=='1'){ ++a1; }else if(c=='9'){ if(a1){ --a1; ++z; }else{ ++a9; } }else{ ++z; } } return z+(a9>>=1,a1>=a9?a9+(a1-a9>>1):a1); } void f2(ulong z){ char wbuf[64],*wp=wbuf+sizeof wbuf; do*--wp=z%10+48;while(z/=10); write(1,wp,wbuf+sizeof wbuf-wp); _exit(0); } int main(){ f2(f1()); return 0; }