This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "candies.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define all(x) x.begin(), x.end()
#define sz(x) (int)x.size()
#define mk make_pair
#define pb push_back
#define fr first
#define sc second
vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) {
int n = sz(c), q = sz(l);
vector<int> ans(n);
if(n == -1 and q <= 2000) {
for(int Q = 0; Q < q; Q++) {
for(int i = l[Q]; i <= r[Q]; i++)
ans[i] = min(max(0, ans[i] + v[Q]), c[i]);
}
}
else {
vector<ll> p(n+1);
for(int Q = 0; Q < q; Q++) {
p[l[Q]] += v[Q];
p[r[Q]+1] -= v[Q];
}
for(int i = 0; i < n; i++) {
if(i > 0) p[i] += p[i-1];
ans[i] = min((ll)c[i], p[i]);
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |