Submission #957825

# Submission time Handle Problem Language Result Execution time Memory
957825 2024-04-04T11:16:08 Z hirayuu_oj Handcrafted Gift (IOI20_gift) C++17
15 / 100
121 ms 20888 KB
#include "gift.h"
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
#define rep2(i,a,b) for(int i=(a); i<(b); i++)
#define all(x) x.begin(),x.end()
using ll=long long;

char change(char c){
    if(c=='R')return 'B';
    return 'R';
}
int construct(int n, int r, std::vector<int> a, std::vector<int> b, std::vector<int> x) {
    string s(n,'-');
    vector<pair<int,int>> mono;
    rep(i,r){
        if(x[i]==1){
            mono.push_back({a[i],b[i]+1});
        }
    }
    sort(all(mono));
    int lf=0,ri=0;
    char fi='R';
    for(auto &[sl,sr]:mono){
        ri=sr;
    }
    rep2(i,lf,ri){
        s[i]=fi;
    }
    char now='R';
    rep(i,n){
        if(s[i]=='-'){
            now=change(now);
            s[i]=now;
        }
        else{
            now=s[i];
        }
    }
    vector<ll> cumr(n+1,0);
    vector<ll> cumb(n+1,0);
    rep(i,n){
        cumr[i+1]=cumr[i];
        cumb[i+1]=cumb[i];
        if(s[i]=='R'){
            cumr[i+1]++;
        }
        else{
            cumb[i+1]++;
        }
    }
    rep(i,r){
        int red=cumr[b[i]+1]-cumr[a[i]];
        int blue=cumb[b[i]+1]-cumb[a[i]];
        int col=0;
        if(red!=0)col++;
        if(blue!=0)col++;
        if(x[i]!=col){
            return 0;
        }
    }
    craft(s);
    return 1;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Incorrect 3 ms 860 KB Possible does not match answer file
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 3 ms 600 KB Output is correct
4 Correct 110 ms 20888 KB Output is correct
5 Correct 121 ms 20888 KB Output is correct
6 Correct 109 ms 20376 KB Output is correct
7 Correct 106 ms 20396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB Possible does not match answer file
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Possible does not match answer file
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Incorrect 3 ms 860 KB Possible does not match answer file
5 Halted 0 ms 0 KB -