# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
495597 | Half | Distributing Candies (IOI21_candies) | C++17 | 99 ms | 7236 KiB |
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 int ll;
typedef unsigned long long int ull;
typedef long double ld;
#define REP(i,a,b) for(ll i=(ll) a; i<(ll) b; i++)
#define pb push_back
#define mp make_pair
#define pl pair<ll,ll>
#define ff first
#define ss second
#define whole(x) x.begin(),x.end()
#define DEBUG(i) cout<<"DEBUG "<<i<<endl
#define INF 500000000LL
#define EPS 0.00000001
#define pi 3.14159
ll mod=1000000007LL;
std::vector<int> distribute_candies(std::vector<int> c, std::vector<int> l,
std::vector<int> r, std::vector<int> v) {
int n = c.size();
std::vector<int> s(n);
int q = l.size();
if(n*q<=100000000){
for(int i = 0; i < n; i++){
ll nc = 0;
for(int j = 0; j < q; j++){
if(l[j] <= i && i <= r[j]){
nc = max(0LL, min((ll)c[i], nc + (ll)v[j]));
}
}
s[i] = nc;
}
return s;
}
bool t = true;
for(int i = 0; i < q; i++){
t = t && (v[i] > 0);
}
if(t){
ll sm = 0;
for(int i = 0; i < q; i++){
sm += v[i];
}
for(int i = 0; i < n; i++){
s[i] = min((ll)c[i], sm);
}
return s;
}
}
Compilation message (stderr)
# | 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... |