Submission #1273824

#TimeUsernameProblemLanguageResultExecution timeMemory
1273824PetrixPaint By Numbers (IOI16_paint)C++20
0 / 100
0 ms332 KiB
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#include "paint.h"
#include <cstdlib>


int sp[10001];
int mars[10001];
int rasp[10001];

string solve1(string s,vector<int> c){
    int i,j,stg,aux;
    string string_rasp;
    for(i=0;i<c.size();i++){
        sp[i+1]+=sp[i];
        sp[i+1]+=c[i]+1;
    }
    for(i=0;i<s.size();i++){
        for(j=0;j<c.size();j++){
            stg=1;
            if(i<sp[j]-1) stg=0;
            if(s.size()-1-i<sp[c.size()-1]-sp[j]-1) stg=0;
            rasp[i]+=2*stg;

        }
    }
    for(i=0;i<s.size();i++){
        for(j=0;j<c.size();j++){
            if(i+c[j]-1>=s.size()) continue;
            stg=1;
            if(j-1>=0){
                if(i<sp[j]-1) stg=0;
            }
            if(j+1<c.size()){
                if(s.size()-i-c[j]<sp[c.size()-1]-sp[j]) stg=0;
            }
            if(stg){
                mars[i]+=1;
                mars[i+c[j]]-=1;
            }

        }
    }
    for(i=0;i<s.size();i++){
        if(i) mars[i]+=mars[i-1];
        rasp[i]+=min(mars[i],1);
        if(rasp[i]==3)  string_rasp+='?';
        else if(rasp[i]==2) string_rasp+='_';
        else string_rasp+='X';
    }
    return string_rasp;
}


string solve_puzzle(string s,vector<int> c) {
    return solve1(s,c);
}

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...