Submission #837711

#TimeUsernameProblemLanguageResultExecution timeMemory
837711KerimDistributing Candies (IOI21_candies)C++17
0 / 100
1294 ms24712 KiB
#include "candies.h" #include "bits/stdc++.h" using namespace std; const int N = 2e5+5; vector<int> add[N], rem[N]; int arr[N]; 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> s(n); for (int i = 0; i < q; i++){ add[l[i]].push_back(i); rem[r[i]].push_back(i); } for (int i = 0; i < n; i++){ for (auto pos: add[i]) arr[pos] = v[pos]; int sum = 0, mn = 0, mx = 0, pos = -1; for (int j = q-1; j >= 0; j--){ sum += arr[j]; mx = max(mx, sum); mn = min(mn, sum); if (mx - mn > c[i]){ pos = j; break; } } if (~pos){ sum -= arr[pos]; if (arr[pos] > 0) s[i] = sum + c[i]; else s[i] = sum; } else s[i] = sum; for (auto pos: rem[i]) arr[pos] = 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...