Submission #598903

#TimeUsernameProblemLanguageResultExecution timeMemory
598903BT21tataPaint By Numbers (IOI16_paint)C++17
32 / 100
1 ms384 KiB
#include "paint.h"
#include<bits/stdc++.h>
using namespace std;

string solve_puzzle(string s, vector<int> c)
{
    int sum=0;
    for(int i=0; i<(int)c.size(); i++)
        sum+=c[i];
    string ans;
    if(sum+(int)c.size()-1==(int)s.length())
    {
        for(int u : c)
        {
            for(int i=0; i<u; i++)
                ans+='X';
            ans+='_';
        }
        ans.pop_back();
        return ans;
    }
    for(int i=0; i<(int)s.length(); i++)
    {
        int cur=0, cnt=0;
        bool f=1;
        if(i<(int)s.length()-(sum+(int)c.size()-1)) f=0;
        for(int u : c)
        {
            cur+=u;
            cnt++;
            if(cur+cnt-2<i and i<(int)s.length()-((sum-cur)+((int)c.size()-cnt)-1)) f=0;
        }
        if(!f) ans+='?';
        else ans+='X';
    }
    return ans;
}
#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...