結果
| 問題 |
No.1795 AtCoder Heuristic Rating coloring
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 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);
}
tails