Submission #837719

#TimeUsernameProblemLanguageResultExecution timeMemory
837719KerimDistributing Candies (IOI21_candies)C++17
3 / 100
5073 ms24716 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 (mx - mn > c[i]){ if (arr[pos] > 0) s[i] = c[i] + mn; else s[i] = mx; } else s[i] = mx; 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...