結果
| 問題 |
No.2596 Christmas Eve (Heuristic ver.)
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2023-12-24 13:52:24 |
| 言語 | cLay (20241019-1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,191 bytes |
| コンパイル時間 | 3,118 ms |
| コンパイル使用メモリ | 198,916 KB |
| 実行使用メモリ | 6,676 KB |
| スコア | 0 |
| 最終ジャッジ日時 | 2023-12-24 13:52:55 |
| 合計ジャッジ時間 | 30,196 ms |
|
ジャッジサーバーID (参考情報) |
judge12 / judge13 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 125 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:260:12: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
260 | auto&[h,V]=*O.begin();
| ^
main.cpp:273:12: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
273 | auto&[h,V]=*O.begin();
| ^
main.cpp:286:12: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
286 | auto&[h,V]=*O.rbegin();
| ^
main.cpp:300:12: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
300 | auto&[h,V]=*O.rbegin();
| ^
main.cpp:317:10: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’
317 | auto&[h,V]=*j++;
| ^
ソースコード
#define I insert
#define D erase
#define S second
#define V u,v,w,x
ll@N,@K,@a[8N],H;set<pair<ll,ll>>A,C,E;rep(i,N)A.I({a[i],i+1}),C.I({a[2N+2i],2i}),C.I({a[2N+2i],2i+1}),E.I({a[6N+i],i});set<tuple<ll,ll,ll,ll,ll>>O;rep(K){auto x=E.begin(),u=A.upper_bound({x->first,N}),v=C.upper_bound({u->first,2N}),w=v++;O.I({a[N+u->S]+a[4N+v->S]+a[4N+w->S]+a[7N+x->S],u->S+1,v->S+1,w->S+1,x->S+1});A.D(u),C.D(v),C.D(w),E.D(x);}REP(n,1d7){if(n%4<1){auto&[h,V]=*O.begin();auto s=C.upper_bound({2N+u,N}),e=C.end();if(s!=e)if(h<(H=h-a[2N+u]+a[2N+s->S]))O.D({h,V}),O.I({H,s->S+1,v,w,x}),C.D(s),C.I({a[2N+u],u});}else if(n%4<2){auto&[h,V]=*O.begin();auto t=C.upper_bound({2N+v,N}),e=C.end();if(t!=e)if(h<(H=h-a[2N+v]+a[2N+t->S]))O.D({h,V}),O.I({H,u,t->S+1,w,x}),C.D(t),C.I({a[2N+v],v});}else if(n%2){auto&[h,V]=*O.rbegin();auto s=C.lower_bound({2N+u,N}),e=C.begin();if(s!=e){s--;if(h>(H=h-a[2N+u]+a[2N+s->S]))O.D({h,V}),O.I({H,s->S+1,v,w,x}),C.D(s),C.I({a[2N+u],u});}}else{auto&[h,V]=*O.rbegin();auto t=C.lower_bound({2N+v,N}),e=C.begin();if(t!=e){t--;if(h>(H=h-a[2N+v]+a[2N+t->S]))O.D({h,V}),O.I({H,u,t->S+1,w,x}),C.D(t),C.I({a[2N+v],v});}}}auto j=O.begin(),e=O.end();while(j!=e){auto&[h,V]=*j++;wt(u,v,w,x);}