Submission #823399

#TimeUsernameProblemLanguageResultExecution timeMemory
82339912345678Paint By Numbers (IOI16_paint)C++17
7 / 100
1 ms212 KiB
#include "paint.h"
#include <bits/stdc++.h>

using namespace std;

string solve_puzzle(string s, vector<int> c) {
    int N=c.size(), sz=s.size();
    string res;
    if (N==0)
    {
        for (int i=0; i<sz; i++) res+='_';
        return res;
    }
    vector<int> f(N+1), b(N+1);
    for (int i=0; i<c.size(); i++) f[i+1]=b[i+1]=c[i];
    for (int i=2; i<=N; i++) f[i]++;
    for (int i=1; i<N; i++) b[i]++;
    for (int i=1; i<=sz; i++)
    {
        int sm=0, idx=0, idx2=N;
        while (sm+f[idx+1]<i&&idx<N) sm+=f[idx+1], idx++;
        int smb=sz;
        for (int j=idx+1; j<=N; j++) smb-=b[j];
        //cout<<i<<' '<<idx<<' '<<sm<<' '<<smb<<'\n';
        if (smb>=i) res+='?';
        else res+='X';
    }
    return res;
}

Compilation message (stderr)

paint.cpp: In function 'std::string solve_puzzle(std::string, std::vector<int>)':
paint.cpp:15:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for (int i=0; i<c.size(); i++) f[i+1]=b[i+1]=c[i];
      |                   ~^~~~~~~~~
paint.cpp:20:26: warning: unused variable 'idx2' [-Wunused-variable]
   20 |         int sm=0, idx=0, idx2=N;
      |                          ^~~~
#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...