Submission #310940

#TimeUsernameProblemLanguageResultExecution timeMemory
310940tengiz05Paint By Numbers (IOI16_paint)C++17
32 / 100
1 ms512 KiB
#include "paint.h"
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+5;
int n, k;
int pref[N], suff[N];
string solve_puzzle(string s, vector<int> c) {
	n = s.length();
	k = c.size();
	int last = 0;
	for(int i=0;i<k;i++){
		pref[i+1] = last+1+c[i];
		last = pref[i+1];
	}
	suff[k-1] = n-1;
	last = n-1;
	for(int i=k-1;i>0;i--){
		suff[i-1] = last-1-c[i];
		last = suff[i-1];
	}
	string ans(n, '?');
	for(int i=0;i<k;i++){
		int r=pref[i]+c[i]-1, l=suff[i]-c[i]+1;
		for(;l<=r;l++)ans[l] = 'X';
	}
	for(int i=0;i<n;i++){
		if(i != 0 && i != n-1 && ans[i-1]=='X' && ans[i+1]=='X' && ans[i]=='?')ans[i]='_';
	}
	
	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...