結果
問題 |
No.1795 AtCoder Heuristic Rating coloring
|
ユーザー |
![]() |
提出日時 | 2021-12-24 11:23:17 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 672 bytes |
コンパイル時間 | 1,061 ms |
コンパイル使用メモリ | 50,816 KB |
実行使用メモリ | 15,348 KB |
最終ジャッジ日時 | 2024-09-20 03:22:41 |
合計ジャッジ時間 | 4,497 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 53 RE * 1 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:41:22: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 41 | write(1,wbuf,wp-wbuf); | ~~~~~^~~~~~~~~~~~~~~~
ソースコード
#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #include <sys/mman.h> #include <stdint.h> #include <unistd.h> #include <map> using namespace std; char wbuf[1<<25]; using keyt=unsigned __int128; int main(){ map<keyt,char const*> h; { char const*rp=static_cast<char const*>(mmap(0,1<<25,1,2,0,0)); while(*rp++!=10); while(*rp){ int d=16; keyt k=0; char const*p=rp; long c; while(c=*p++,c!=32){ k|=keyt(c)<<(--d<<3); } while(c=*p++,c!=10){ } h[k]=rp; rp=p; } } { char*wp=wbuf; for(auto&&t:h){ char const*p=t.second; long c; while(c=*p++,*wp++=c,c!=10){ } } write(1,wbuf,wp-wbuf); } _exit(0); }