結果
問題 |
No.3265 地元に帰れば天才扱い!
|
ユーザー |
![]() |
提出日時 | 2025-08-08 22:33:17 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 662 bytes |
コンパイル時間 | 3,198 ms |
コンパイル使用メモリ | 195,516 KB |
実行使用メモリ | 9,556 KB |
最終ジャッジ日時 | 2025-09-06 12:31:14 |
合計ジャッジ時間 | 10,261 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 RE * 1 |
other | RE * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define int long long signed main(){ ios::sync_with_stdio(false),cin.tie(0); int n; cin >> n; vector<int> segtree0(2*n),segtree1(2*n); for (int i(0);i < n;++i) cin >> segtree1[n+i]; for (int i(n-1);i;--i) segtree1[i] = segtree1[i<<1]+segtree1[i<<1|1]; int q,res(0); cin >> q; while(q--){ int x,y,l,r; cin >> x >> y >> l >> r; y -= segtree1[x+n-1]; for (int i(x+n-1);i;i>>=1) res += segtree0[i]*y,segtree1[i] += y; for (l += n-1,r += n;l < r;l>>=1,r>>=1){ if (l&1) ++segtree0[l],res += segtree1[l++]; if (r&1) ++segtree0[--r],res += segtree1[r]; } cout << res << '\n'; } }