結果

問題 No.3265 地元に帰れば天才扱い!
ユーザー DeltaStruct
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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';
  }
}
0