結果
問題 | No.3094 Stapler |
ユーザー |
![]() |
提出日時 | 2025-04-07 16:56:54 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 59 ms / 2,000 ms |
コード長 | 834 bytes |
コンパイル時間 | 3,818 ms |
コンパイル使用メモリ | 191,512 KB |
実行使用メモリ | 34,196 KB |
最終ジャッジ日時 | 2025-04-07 16:57:05 |
合計ジャッジ時間 | 10,148 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 71 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:312:11: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 312 | auto[l,r]=qs[q]; | ^
ソースコード
struct N{int v;int l;int r;};N segtree_ph_func(N a,N b){N r;if(a.r<b.l){r.v=b.v;r.l=a.l+b.l-a.r;r.r=b.r;}else if(a.r>b.l){r.v=a.v;r.l=a.l;r.r=b.r+a.r-b.l;}else{r.v=a.v+b.v;r.l=a.l;r.r=b.r;}return r;}{segtree_ph<N>t;ll@n,@q;pair<ll,ll>qs[q];t.malloc(n,1);rep(i,n){t[i].v=1;t[i].l=0;t[i].r=0;}t.build();rep(i,q){ll@c;if(c==1){ll@l--,@r--;qs[i]={l,r};if(l<r){{N a=t[l];a.r+=1;a.v=0;t.change(l,a);}{N a=t[r];a.l+=1;t.change(r,a);}}}if(c==2){ll@q--;auto [l,r]=qs[q];if(l<r){{N a=t[l];a.r-=1;a.v=a.r==0;t.change(l,a);}{N a=t[r];a.l-=1;t.change(r,a);}}}if(c==3){wt(t.get(0,n).v);}}}