Submission #889586

#TimeUsernameProblemLanguageResultExecution timeMemory
889586UmairAhmadMirzaPaint By Numbers (IOI16_paint)C++17
32 / 100
1 ms604 KiB
#pragma once #include<bits/stdc++.h> using namespace std; int k=0; string s; vector<int> c; int n; bool check(int l,int r,int sz){ int sm=0; for (int i = l; i <=r; ++i) sm+=c[i]; int ln=(r-l)+1; sm+=ln-1; if(sm<=sz) return 1; return 0; } string solve_puzzle(string ss, vector<int> cc){ k=cc.size(); c=cc; s=ss; n=s.length(); for (int i = 0; i < n; ++i) { //if i put a _ here then check that is there a valid solution s[i]='X'; for (int j = -1; j < k; ++j) if(check(0,j,i) && check( j+1,k-1,n-(i+1)) ){ s[i]='?'; break; } } int tot=0; for (int i = 0; i < k; ++i) tot+=c[i]; for (int i = 0; i < n; ++i) { if(s[i]=='X') continue; int sm=0; s[i]='_'; for (int j = 0; j < k; ++j) { for (int f = max(0,(i-c[j])+1); f <=i; ++f) { int smm=sm+j; if(smm>=f+1) continue; smm=tot-sm; smm+=k-(j+1); if(smm<=n-f){ s[i]='?'; break; } } if(s[i]=='?') break; sm+=c[j]; } } return s; }

Compilation message (stderr)

paint.cpp: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...