제출 #1053199

#제출 시각아이디문제언어결과실행 시간메모리
1053199MercubytheFirst사탕 분배 (IOI21_candies)C++17
0 / 100
55 ms8952 KiB
#include "candies.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

std::vector<signed> distribute_candies(std::vector<signed> c, std::vector<signed> l,
                                    std::vector<signed> r, std::vector<signed> v) {
    ll n = c.size();
    vector<ll> diff(n + 1);
    vector<signed> ans(n);
    for(ll i = 0; i < n; ++i) {
        diff[i] = v[i] - (i > 0 ? v[i - 1] : 0);
    }
    ll Q = l.size();
    for(ll i = 0; i < Q; ++i) {
        diff[l[i]] += v[i];
        diff[r[i] + 1] -= v[i];
    }
    ll sum = 0;
    for(ll i = 0; i < n; ++i) {
        sum += diff[i];
        ans[i] = min(sum, (ll)c[i]);
    }
    return ans;
}
#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...