Submission #1244986

#TimeUsernameProblemLanguageResultExecution timeMemory
1244986porquenomedejainiciarsesionPaint By Numbers (IOI16_paint)C++20
32 / 100
1 ms328 KiB
#include "paint.h"
#include <bits/stdc++.h>
using namespace std;
string solve_puzzle(string s,vector<int> c) {
    vector<char> V;
    for(auto x:s){
        V.push_back(x);
    }
    int l=0,r=0,suma=0;
    int lsize=0,rsize=c.size();
    for(auto x:c){
        suma+=x;
    }
    r=suma;
    int ind;
    for(int i=0;i<s.size();i++){
        if(r+rsize-1<s.size()-i){
            V[i]='?';
        }else{
            ind=i;
            break;
        }
    }
    for(int i=ind;i<s.size();i++){
        l=0;
        r=suma;
        lsize=0;
        rsize=c.size();
        bool ok=true;
        for(int j=0;j<c.size();j++){
            int a=r+rsize-1;
            int b=s.size()-i;
            int d=lsize-1+l;
            if(a<b && d<=i){
                V[i]='?';
                ok=false;
                break;
            }
            l+=c[j];
            r-=c[j];
            rsize--;
            lsize++;
        }
        int a=r+rsize-1;
        int b=s.size()-i;
        int c=lsize-1+l;
        if(a<b && c<=i){
            V[i]='?';
            ok=false;
        }
        if(ok){
            V[i]='X';
        }
    }
    string ans="";
    if(c.size()-1+l+r==s.size()){
        for(int i=0;i<s.size();i++){
            if(V[i]=='?'){
                V[i]='_';
            }
        }
    }
    for(auto x:V){
        ans+=x;
    }
    return ans;
}

Compilation message (stderr)

paint.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
paint_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...