Submission #614364

#TimeUsernameProblemLanguageResultExecution timeMemory
614364serizeDistributing Candies (IOI21_candies)C++17
3 / 100
103 ms8032 KiB
#include <candies.h> #include <bits/stdc++.h> #include <cassert> #include <cstdio> #include <vector> using namespace std; const int MAX = 2e5+10; 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(); int q = l.size(); std::vector<int> s(n); if(q <= 2000){ for(int i = 0; i < q; i++){ for(int j = l[i]; j <= r[i]; j++){ if(v[i] < 0){ s[j] = max(0,s[j]+v[i]); } else{ s[j] = min(c[j],s[j]+v[i]); } } } return s; } std::vector<int> aux(n+10); for(int i = 0; i < q; i++){ aux[l[i]] += v[i]; aux[r[i]+1] -= v[i]; } int sum = 0; for(int i = 0; i < n; i++){ sum += aux[i]; s[i] = min(c[i],sum); } 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...