Submission #712146

#TimeUsernameProblemLanguageResultExecution timeMemory
712146danikoynovDistributing Candies (IOI21_candies)C++17
11 / 100
5059 ms15324 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 2e5 + 10; int n, q; ll add[maxn], rem[maxn]; vector < int > s; vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) { n = c.size(); q = l.size(); s.resize(n, 0); bool all_positive = true; for (int i = 0; i < q; i ++) if (v[i] < 0) all_positive = false; if (all_positive) { for (int i = 0; i < q; i ++) { add[l[i]] += v[i]; rem[r[i] + 1] += v[i]; } ll sum = 0; for (int i = 0; i < n; i ++) { sum += add[i]; sum -= rem[i]; s[i] = min((ll)(c[i]), sum); } return s; } for (int i = 0; i < q; i ++) { for (int j = l[i]; j <= r[i]; j ++) { s[j] += v[i]; if (s[j] < 0) s[j] = 0; if (s[j] > c[j]) s[j] = c[j]; } } 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...