Submission #953164

#TimeUsernameProblemLanguageResultExecution timeMemory
953164FaresSTHSterilizing Spray (JOI15_sterilizing)C++17
10 / 100
91 ms5456 KiB
#pragma GCC optimize("O3,Ofast,unroll-loops") #include "bits/stdc++.h" const int MOD = 1e9 + 7; using namespace std; #define all(x) x.begin(), x.end() #define vi vector<int> #define pb push_back #define mp make_pair #define ll long long #define S second #define F first vector<ll> tree; ll N; void init(ll n) { N = 1 << (ll)ceil(log2(n)); tree.resize(N * 2, 0); } void upd(ll id, ll val) { id += N; tree[id] = val; while (id /= 2) { tree[id] = tree[id * 2] + tree[id * 2 + 1]; } } ll query(ll id, ll l, ll r, ll s, ll e) { if (s <= l && r <= e) return tree[id]; if (l > e || r < s) return 0; ll m = (l + r) / 2; return query(id * 2, l, m, s, e) + query(id * 2 + 1, m + 1, r, s, e); } void solve() { ll n, q, k; cin >> n >> q >> k; ll val; init(n); for (ll i = 0; i < n; i++) { cin >> val; upd(i, val); } while (q--) { ll s, t, u; cin >> s >> t >> u; if (s == 1) upd(t - 1, u); if (s == 3) cout << query(1, 0, N - 1, t - 1, u - 1) << endl; } } int main() { cin.tie(0)->sync_with_stdio(0); int t = 1; // cin >> t; while (t--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...