Submission #1314979

#TimeUsernameProblemLanguageResultExecution timeMemory
1314979ninstroyerHandcrafted Gift (IOI20_gift)C++20
10 / 100
77 ms15688 KiB
    #include "gift.h"
    #include<bits/stdc++.h>
    using namespace std;

    const int nx = 5e5+5;

    int l[nx], r[nx], add[nx], sub[nx];
    string s;

    int construct(int n, int r, std::vector<int> a, std::vector<int> b, std::vector<int> x) {
        for(int i = 0; i < r; i++)
        {
            if(x[i] == 1) add[a[i]]++, sub[b[i]+1]++;
            else add[add[a[i]]] -= 100, sub[b[i]+1]-=100;
        }
        string cur = "B";
        int sum = 0;
        bool bad = false;
        for(int i = 0; i < n; i++)
        {
            sum += add[i];
            sum -= sub[i];
            if(sum == 0)
            {
                if(cur == "B") cur = "R";
                else cur = "B";
            }
            if(sum < 0) bad = true;
            s += cur;
        }
        craft(s);
        if(bad) return 0;
        return 1;
    }
#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...