Submission #618083

#TimeUsernameProblemLanguageResultExecution timeMemory
618083BalintRDistributing Candies (IOI21_candies)C++17
38 / 100
5043 ms8940 KiB
#include <vector>
using namespace std;
#pragma GCC optimize "Ofast"
typedef vector<int> vi;
#define SZ(v) ((int) (v).size())
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) < (b) ? (b) : (a))

const int MN = 2e5;
int n, q;
int arr[MN], cap[MN];

vi distribute_candies(vi cIn, vi lIn, vi rIn, vi vIn){
    n = SZ(cIn);
    q = SZ(lIn);
    for(int i = 0; i < n; i++) cap[i] = cIn[i];

    for(int i = 0; i < q; i++){
        int l = lIn[i], r = rIn[i]+1, v = vIn[i];
        if(v < 0) for(int j = l; j < r; j++) arr[j] = max(arr[j] + v, 0);
        else for(int j = l; j < r; j++) arr[j] = min(arr[j] + v, cap[j]);
    }

    vi res(n);
    for(int i = 0; i < n; i++) res[i] = arr[i];
    return res;
}
#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...