結果
問題 | No.2101 [Cherry Alpha N] ずっとこの数列だったらいいのに |
ユーザー |
![]() |
提出日時 | 2022-10-15 11:07:46 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 240 ms / 6,000 ms |
コード長 | 506 bytes |
コンパイル時間 | 7,312 ms |
コンパイル使用メモリ | 228,972 KB |
実行使用メモリ | 34,176 KB |
最終ジャッジ日時 | 2024-06-26 19:40:09 |
合計ジャッジ時間 | 18,580 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 42 |
ソースコード
ll@n,a[n],t[],u[],x[],y[]; rd((a,t--)(n)); rep(i,n){ x[i]=a[i]+t[i]; } sortA_index(n,x,y); sortA_index(n,t,a,u); ll@q,d[q],l[],r[],v[],w[]; rd((d,l--,r--)(q)); sortA_index(q,d,l,r,v); fenwick<ll>f0,f1; f0.malloc(n,1); f1.malloc(n,1); rep(i,n){ f0.add(u[i],a[i]); } ll b=0,c=0; rep(j,q){ while(b<n&&t[b]<d[j]){ f0.add(u[b],t[b]); f1.add(u[b],1); ++b; } while(c<n&&x[c]<d[j]){ f0.add(y[c],-x[c]); f1.add(y[c],-1); ++c; } w[v[j]]=f0.range(l[j],r[j])-d[j]*f1.range(l[j],r[j]); } wtLn(w(q));