Submission #1058415

#TimeUsernameProblemLanguageResultExecution timeMemory
1058415vjudge1Distributing Candies (IOI21_candies)C++17
11 / 100
65 ms12980 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using vi = vector<int>; using vll = vector<ll>; vi distribute_candies(vi c, vi l, vi r, vi v) { int n = c.size(), q = l.size(); bool all_poz = true; for(auto it : v) if(it < 0) all_poz = false; if(n <= 2000 && q <= 2000) { vi A(n, 0); for(int i = 0; i < q; ++i) { for(int j = l[i]; j <= r[i]; ++j) { A[j] += v[i]; A[j] = max(A[j], 0); A[j] = min(A[j], c[j]); } } return A; } if(all_poz) { vll S(n, 0); for(int i = 0; i < q; ++i) { S[l[i]] += v[i]; if(r[i] + 1 < n) S[r[i] + 1] -= v[i]; } for(int i = 1; i < n; ++i) { S[i] = S[i] + S[i - 1]; } vi Re(n, 0); for(int i = 0; i < n; ++i) { Re[i] = min(S[i], (ll)c[i]); } return Re; } return vi(); }
#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...