제출 #535413

#제출 시각아이디문제언어결과실행 시간메모리
535413pokmui9909Distributing Candies (IOI21_candies)C++17
11 / 100
101 ms13772 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; using ll = long long; ll N, Q; vector<int> a; 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 = l.size(); a.resize(N); if(N <= 2000 && Q <= 2000){ for(int i = 0; i < Q; i++){ for(int j = l[i]; j <= r[i]; j++){ a[j] += v[i]; a[j] = min(a[j], c[j]); a[j] = max(a[j], 0); } } return a; } else { vector<ll> s(N + 1); for(int i = 0; i < Q; i++){ s[l[i]] += v[i]; s[r[i] + 1] -= v[i]; } for(int i = 1; i < N; i++){ s[i] += s[i - 1]; } for(int i = 0; i < N; i++){ a[i] = min(s[i], (ll)c[i]); } return a; } }
#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...