Submission #121260

#TimeUsernameProblemLanguageResultExecution timeMemory
121260khulegubPaint By Numbers (IOI16_paint)C++14
0 / 100
2 ms384 KiB
#include "paint.h"
#include <cstdlib>
#include<bits/stdc++.h>
#define mp make_pair
#define xx first
#define yy second
#define pb push_back


using namespace std;
typedef long long i64;
vector<int> clue;
// vector<int> paint;
int n, cn;
string paint;

void solve(int l, int r, int cl, int cr){
	int curr = clue[cr];
	int sz = r - l + 1;
	int magad = min(sz - curr, curr);
	for(int i = 0; i < magad; i++){
		paint[l + i] = '?';
		paint[r - i] = '?';
	}
	int ofc = 2 * curr - sz;
	if(ofc > 0){
		for(int i = 0; i < ofc; i++){
			paint[l + magad + i] = 'X';
		}
	}
}
string solve_puzzle(string s, vector<int> c){
	paint = s;
	n = s.length();
	clue = c;
	cn = clue.size();
	solve(0, n-1, 0, cn-1);
	// cout << paint;
	// cout << "\n#####\n";
    return paint;
}
#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...