Submission #773398

#TimeUsernameProblemLanguageResultExecution timeMemory
773398SanguineChameleonDistributing Candies (IOI21_candies)C++17
11 / 100
99 ms12888 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) { int n = c.size(); int q = l.size(); vector<int> s(n); if (n <= 2000 && q <= 2000) { for (int i = 0; i < q; i++) { for (int j = l[i]; j <= r[i]; j++) { s[j] += v[i]; s[j] = max(s[j], 0); s[j] = min(s[j], c[j]); } } } else { vector<long long> pref(n); for (int i = 0; i < q; i++) { pref[l[i]] += v[i]; if (r[i] + 1 < n) { pref[r[i] + 1] -= v[i]; } } for (int i = 1; i < n; i++) { pref[i] += pref[i - 1]; } for (int i = 0; i < n; i++) { s[i] = min(max(pref[i], 0LL), (long long)c[i]); } } 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...