結果
問題 | No.2804 Fixer And Ratism |
ユーザー | tails |
提出日時 | 2024-07-12 23:02:42 |
言語 | cLay (20240714-1) |
結果 |
WA
|
実行時間 | - |
コード長 | 945 bytes |
コンパイル時間 | 3,070 ms |
コンパイル使用メモリ | 188,972 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-12 23:02:49 |
合計ジャッジ時間 | 5,112 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | AC | 2 ms
6,940 KB |
testcase_02 | AC | 2 ms
6,940 KB |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | AC | 3 ms
6,940 KB |
testcase_10 | WA | - |
testcase_11 | AC | 17 ms
6,940 KB |
testcase_12 | WA | - |
testcase_13 | AC | 5 ms
6,940 KB |
testcase_14 | AC | 12 ms
6,944 KB |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | AC | 6 ms
6,940 KB |
testcase_18 | WA | - |
testcase_19 | AC | 2 ms
6,940 KB |
testcase_20 | WA | - |
testcase_21 | AC | 20 ms
6,944 KB |
testcase_22 | WA | - |
testcase_23 | AC | 30 ms
6,944 KB |
testcase_24 | WA | - |
testcase_25 | AC | 32 ms
6,940 KB |
testcase_26 | WA | - |
testcase_27 | WA | - |
testcase_28 | AC | 31 ms
6,940 KB |
testcase_29 | WA | - |
testcase_30 | WA | - |
testcase_31 | WA | - |
testcase_32 | AC | 29 ms
6,940 KB |
testcase_33 | WA | - |
ソースコード
LHeap<ll>h; h.malloc(100,1); map<string,ll>m; string a[100]; int g[4001]{}; int k[100]{}; ll@n,@q,b=0; rep(q){ ll@t; if(t<1||t>3)exit(8); if(t==1){ string@s; if(m.find(s)!=m.end())exit(9); ll@r; if(r<0||r>4000)exit(10); ll d=b++; if(g[r])exit(13); g[r]=d+1; if(b>100)exit(3); h.change(d,r); m[s]=d; a[d]=s; } if(t==2){ ll@x; if(x<0||x>10)exit(16); n-=x; if(n<1)exit(4); } if(t==3){ string@s; ll@x; if(x<0||x>10)exit(15); if(m.find(s)==m.end())exit(7); ll d=m[s]; if(a[d]!=s)exit(6); if(h.place[d]<0)exit(11); ll r=h.val[d]; if(!(r>=0&&r<=4000||r>=10000&&r<=14000))exit(12); if(g[r%10000]!=d+1)exit(14); // if(r<4001){ // h.change(d,r+4001); // h.change(d,r+10000); // } k[d]=1; n+=x; } while(h.size>n){ ll d=h.pop(); if(a[d]=="")exit(5); // wt(a[d]); // puts(a[d].c_str()); if(k[d]&&h.val[d]<10000){ h.change(d,h.val[d]+10000); }else{ puts(a[d].c_str()); m.erase(a[d]); a[d]=""; } } }