Submission #570945

#TimeUsernameProblemLanguageResultExecution timeMemory
570945VanillaDistributing Candies (IOI21_candies)C++17
3 / 100
106 ms8604 KiB
#include <bits/stdc++.h> using namespace std; #define int64 long long const int maxn = 2e5 + 3; const int64 mod = 1e9 + 7; vector <int> distribute_candies(vector <int> c, vector <int> l, vector <int> r, vector <int> v) { int n = c.size(), q = l.size(); vector <int> cd (n + 3); if (n <= 2000 && q <= 2000){ // 1 for (int i = 0; i < q; i++){ for (int j = l[i]; j <= r[i]; j++){ if (v[i] > 0) { cd[j] = min(c[j], cd[j] + v[i]); } else cd[j] = max(0, cd[j] + v[i]); } } } else { for (int i = 0; i < q; i++){ cd[l[i]]+=v[i]; cd[r[i] + 1]-=v[i]; } int64 sf = 0; for (int i = 0; i < n; i++){ sf+=cd[i]; cd[i] = min(cd[i], c[i]); } } vector <int> rt; for (int i = 0; i < n; i++){ rt.push_back(cd[i]); } return rt; } // int main() { // vector <int> p1 = {10, 15, 20}; // vector <int> p2 = {0, 2}; // vector <int> p3 = {2, 2}; // vector <int> p4 = {4, 9}; // for (int i: distribute_candies(p1, p2, p3, p4)) { // cout << i << " "; // } // }
#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...