제출 #587248

#제출 시각아이디문제언어결과실행 시간메모리
587248jakubdDistributing Candies (IOI21_candies)C++17
3 / 100
98 ms16484 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) { int n = c.size(), q = (int)l.size(); vector<int> s; if (n <= 2000 && q <= 2000) { s.resize(n); for (int i = 0; i < q; i++) { for (int j = l[i]; j <= r[i]; j++) { s[j] += v[i]; if (s[j] < 0) s[j] = 0; if (s[j] > c[j]) s[j] = c[j]; } } } else { vector<long long> pr(n + 1); for (int i = 0; i < q; i++) { pr[l[i]] += (long long) v[i]; pr[r[i] + 1] -= (long long) v[i]; } for (int i = 0; i < n; i++) pr[i + 1] += pr[i]; for (int i = 0; i < n; i++) { s[i] = min((long long) c[i], pr[i + 1]); } } 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...