結果
問題 | No.1099 Range Square Sum |
ユーザー |
![]() |
提出日時 | 2020-09-25 17:44:27 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 59 ms / 2,000 ms |
コード長 | 479 bytes |
コンパイル時間 | 2,456 ms |
コンパイル使用メモリ | 176,856 KB |
実行使用メモリ | 19,840 KB |
最終ジャッジ日時 | 2024-07-05 14:16:22 |
合計ジャッジ時間 | 5,587 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 30 |
ソースコード
struct V{ll n,s,t,a;};inline void segtree_pg_func(V&r,V a,V b){r={a.n+b.n,a.s+a.a*b.n+b.s,a.t+b.t+a.a*(2b.s+a.a*b.n),a.a+b.a,};}segtree_pg<V>t;inline void add(int i,ll a){t[i].a+=a;t.build(i+t.N);}{ll n,a;rd(n);t.walloc(n+1);t.setN(n+1,0,0);rep(i,n)rd(a),t[i+1]={1,a,a*a,0};t.build();rd(n);rep(n){ll x,l,r;rd(x,l,r++);if(x==1){rd(x);add(l-1,x);add(r-1,-x);}else{wt(t.get(0,r).t-t.get(0,l).t);}}}