Submission #435745

#TimeUsernameProblemLanguageResultExecution timeMemory
435745illyakrDistributing Candies (IOI21_candies)C++17
0 / 100
102 ms8124 KiB
#include <bits/stdc++.h> #include "candies.h" using namespace std; int n, q; bool scbl = true; int ans[201010]; std::vector<int> distribute_candies(std::vector<int> c, std::vector<int> l, std::vector<int> r, std::vector<int> v) { n = c.size(); q = v.size(); vector<int> res(n - 1); for (int i = 0; i < q; i++) if (v[i] < 0){scbl = false;break;} if (n * q <= 100000000) { for (int i = 0; i < q; i++) { for (int j = l[i]; j <= r[i]; j++) { res[j] += v[i]; if (res[j] < 0)res[j] = 0; else if (res[j] > c[j])res[j] = c[j]; } } return res; } if (scbl) { for (int i = 0; i < q; i++) { ans[l[i]] += v[i]; ans[r[i] + 1] -= v[i]; } for (int i = 1; i < n; i++) ans[i] += ans[i - 1]; for (int i = 0; i < n; i++)ans[i] = min(ans[i], c[i]); for (int i = 0; i < n; i++)res[i] = ans[i]; return res; } exit(1); } /** 3 10 15 13 2 0 2 20 0 1 -11 0 4 13 */
#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...