Submission #1243647

#TimeUsernameProblemLanguageResultExecution timeMemory
1243647raphaelpDistributing Candies (IOI21_candies)C++20
3 / 100
5093 ms31072 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)
{
    long long N = C.size(), Q = L.size();
    vector<int> ans(N);
    vector<long long> heights(Q);
    vector<vector<long long>> Tab;
    for (long long i = 0; i < Q; i++)
    {
        Tab.push_back({L[i], i, V[i]});
        Tab.push_back({R[i] + 1, i, 0});
    }
    sort(Tab.begin(), Tab.end());
    long long buff = 0;
    for (long long i = 0; i < N; i++)
    {
        while (buff < Tab.size() && Tab[buff][0] == i)
        {
            heights[Tab[buff][1]] = Tab[buff][2];
            buff++;
        }
        long long maxx = 0, minn = 0, cur = 0;
        for (int j = 0; j < Q; j++)
        {
            cur += heights[j];
            cur = max(cur, 0LL);
            cur = min(cur, (long long)C[i]);
            ans[i] = cur;
        }
    }
    return ans;
}
/*int main()
{
    int N, Q;
    cin >> N >> Q;
    vector<int> C(N), L(Q), R(Q), V(Q);
    for (int i = 0; i < N; i++)
        cin >> C[i];
    for (int i = 0; i < Q; i++)
        cin >> L[i] >> R[i] >> V[i];
    vector<int> ans = distribute_candies(C, L, R, V);
    for (int i = 0; i < ans.size(); i++)
        cout << ans[i] << ' ';
}*/
#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...