Submission #545859

#TimeUsernameProblemLanguageResultExecution timeMemory
545859fuad27Distributing Candies (IOI21_candies)C++17
0 / 100
5039 ms8892 KiB
#include "candies.h" #include<bits/stdc++.h> using namespace std; const int MAXN = 200'010; long long fen[MAXN]; void upd(int at, long long val) { at++; while(at < MAXN) { fen[at]+=val; at+=at&(-at); } } long long query(int r) { long long sum = 0; r++; while(r > 0) { sum+=fen[r]; r-=r&(-r); } return sum; } vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) { int n = c.size(); vector<int> s(n); for(int i = 0;i<MAXN;i++)fen[i] =0; for(int i = 0;i<n;i++) { for(int j = l[i];j<=r[i];j++) { if(v[i] > 0) { s[j] = min(s[j] + v[i], c[j]); } else { s[j] = max(s[j] + v[i], 0); } } } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...