Submission #465625

#TimeUsernameProblemLanguageResultExecution timeMemory
465625alexxela12345Distributing Candies (IOI21_candies)C++17
11 / 100
5037 ms12876 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; 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(); if (*min_element(v.begin(), v.end()) >= 0) { vector<ll> s(n + 1); for (int i = 0; i < (int) l.size(); i++) { s[l[i]] += v[i]; s[r[i] + 1] -= v[i]; } for (int i = 1; i < (int)s.size(); i++) { s[i] += s[i - 1]; } s.pop_back(); vector<int> s2; s2.reserve(n); for (int i = 0; i < n; i++) { int el = min(s[i], (ll) c[i]); s2.push_back(el); } return s2; } std::vector<int> s(n); for (int i = 0; i < (int) l.size(); i++) { for (int j = l[i]; j <= r[i]; j++) { if (v[i] < 0) { s[j] += v[i]; if (s[j] < 0) s[j] = 0; } else { s[j] += v[i]; if (s[j] > c[j]) s[j] = c[j]; } } } 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...