#include <bits/stdc++.h>
#ifndef ARTHUR_LOCAL
#include "paint.h"
#endif
using namespace std;
string solve_puzzle(string S, vector<int> C)
{
int n = S.size();
int k = C.size();
int c_sum=0;
for(auto c:C) c_sum += c;
if(c_sum + k - 1 == n)
{
int i=0;
for(auto c:C)
{
for(int d=1; d<=c; d++) S[i++]='X';
if(i<n) S[i++]='_';
}
return S;
}
for(int i=0; i<n; i++)
{
int cur = 0;
for(int j=0; j<k; j++)
{
cur += C[j];
if(cur + j > i)
{
int RHS=0;
RHS += c_sum;
RHS -= cur;
RHS += C[j];
RHS += (k-j)-1;
//if(i==2) cout << RHS << endl;
if(RHS <= n-i-1) S[i]='?';
else S[i]='X';
break;
}
}
if(S[i]=='.') S[i]='?';
}
return S;
}
#ifdef ARTHUR_LOCAL
int main()
{
cout << solve_puzzle("..........",{3,4}) << endl;
}
#endif
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
8 |
Correct |
2 ms |
376 KB |
n = 20, m = 5 |
9 |
Correct |
2 ms |
376 KB |
n = 18, m = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 17, m = 2 |
11 |
Correct |
2 ms |
376 KB |
n = 20, m = 2 |
12 |
Correct |
2 ms |
256 KB |
n = 17, m = 4 |
13 |
Correct |
2 ms |
380 KB |
n = 17, m = 6 |
14 |
Correct |
2 ms |
376 KB |
n = 17, m = 1 |
15 |
Correct |
2 ms |
376 KB |
n = 17, m = 4 |
16 |
Correct |
3 ms |
380 KB |
n = 13, m = 3 |
17 |
Correct |
2 ms |
256 KB |
n = 18, m = 4 |
18 |
Correct |
2 ms |
376 KB |
n = 20, m = 10 |
19 |
Correct |
2 ms |
376 KB |
n = 19, m = 10 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
8 |
Correct |
2 ms |
376 KB |
n = 20, m = 5 |
9 |
Correct |
2 ms |
376 KB |
n = 18, m = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 17, m = 2 |
11 |
Correct |
2 ms |
376 KB |
n = 20, m = 2 |
12 |
Correct |
2 ms |
256 KB |
n = 17, m = 4 |
13 |
Correct |
2 ms |
380 KB |
n = 17, m = 6 |
14 |
Correct |
2 ms |
376 KB |
n = 17, m = 1 |
15 |
Correct |
2 ms |
376 KB |
n = 17, m = 4 |
16 |
Correct |
3 ms |
380 KB |
n = 13, m = 3 |
17 |
Correct |
2 ms |
256 KB |
n = 18, m = 4 |
18 |
Correct |
2 ms |
376 KB |
n = 20, m = 10 |
19 |
Correct |
2 ms |
376 KB |
n = 19, m = 10 |
20 |
Correct |
2 ms |
376 KB |
n = 100, m = 5 |
21 |
Correct |
2 ms |
256 KB |
n = 90, m = 3 |
22 |
Correct |
2 ms |
380 KB |
n = 86, m = 2 |
23 |
Correct |
2 ms |
256 KB |
n = 81, m = 4 |
24 |
Correct |
2 ms |
376 KB |
n = 89, m = 10 |
25 |
Correct |
2 ms |
256 KB |
n = 81, m = 23 |
26 |
Correct |
2 ms |
376 KB |
n = 86, m = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 53, m = 22 |
28 |
Correct |
2 ms |
376 KB |
n = 89, m = 35 |
29 |
Correct |
2 ms |
376 KB |
n = 63, m = 25 |
30 |
Correct |
2 ms |
376 KB |
n = 100, m = 50 |
31 |
Correct |
2 ms |
256 KB |
n = 99, m = 50 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
8 |
Correct |
2 ms |
376 KB |
n = 20, m = 5 |
9 |
Correct |
2 ms |
376 KB |
n = 18, m = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 17, m = 2 |
11 |
Correct |
2 ms |
376 KB |
n = 20, m = 2 |
12 |
Correct |
2 ms |
256 KB |
n = 17, m = 4 |
13 |
Correct |
2 ms |
380 KB |
n = 17, m = 6 |
14 |
Correct |
2 ms |
376 KB |
n = 17, m = 1 |
15 |
Correct |
2 ms |
376 KB |
n = 17, m = 4 |
16 |
Correct |
3 ms |
380 KB |
n = 13, m = 3 |
17 |
Correct |
2 ms |
256 KB |
n = 18, m = 4 |
18 |
Correct |
2 ms |
376 KB |
n = 20, m = 10 |
19 |
Correct |
2 ms |
376 KB |
n = 19, m = 10 |
20 |
Correct |
2 ms |
376 KB |
n = 100, m = 5 |
21 |
Correct |
2 ms |
256 KB |
n = 90, m = 3 |
22 |
Correct |
2 ms |
380 KB |
n = 86, m = 2 |
23 |
Correct |
2 ms |
256 KB |
n = 81, m = 4 |
24 |
Correct |
2 ms |
376 KB |
n = 89, m = 10 |
25 |
Correct |
2 ms |
256 KB |
n = 81, m = 23 |
26 |
Correct |
2 ms |
376 KB |
n = 86, m = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 53, m = 22 |
28 |
Correct |
2 ms |
376 KB |
n = 89, m = 35 |
29 |
Correct |
2 ms |
376 KB |
n = 63, m = 25 |
30 |
Correct |
2 ms |
376 KB |
n = 100, m = 50 |
31 |
Correct |
2 ms |
256 KB |
n = 99, m = 50 |
32 |
Incorrect |
2 ms |
256 KB |
char #1 differ - expected: 'X', found: '?' |
33 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
8 |
Correct |
2 ms |
376 KB |
n = 20, m = 5 |
9 |
Correct |
2 ms |
376 KB |
n = 18, m = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 17, m = 2 |
11 |
Correct |
2 ms |
376 KB |
n = 20, m = 2 |
12 |
Correct |
2 ms |
256 KB |
n = 17, m = 4 |
13 |
Correct |
2 ms |
380 KB |
n = 17, m = 6 |
14 |
Correct |
2 ms |
376 KB |
n = 17, m = 1 |
15 |
Correct |
2 ms |
376 KB |
n = 17, m = 4 |
16 |
Correct |
3 ms |
380 KB |
n = 13, m = 3 |
17 |
Correct |
2 ms |
256 KB |
n = 18, m = 4 |
18 |
Correct |
2 ms |
376 KB |
n = 20, m = 10 |
19 |
Correct |
2 ms |
376 KB |
n = 19, m = 10 |
20 |
Correct |
2 ms |
376 KB |
n = 100, m = 5 |
21 |
Correct |
2 ms |
256 KB |
n = 90, m = 3 |
22 |
Correct |
2 ms |
380 KB |
n = 86, m = 2 |
23 |
Correct |
2 ms |
256 KB |
n = 81, m = 4 |
24 |
Correct |
2 ms |
376 KB |
n = 89, m = 10 |
25 |
Correct |
2 ms |
256 KB |
n = 81, m = 23 |
26 |
Correct |
2 ms |
376 KB |
n = 86, m = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 53, m = 22 |
28 |
Correct |
2 ms |
376 KB |
n = 89, m = 35 |
29 |
Correct |
2 ms |
376 KB |
n = 63, m = 25 |
30 |
Correct |
2 ms |
376 KB |
n = 100, m = 50 |
31 |
Correct |
2 ms |
256 KB |
n = 99, m = 50 |
32 |
Incorrect |
2 ms |
256 KB |
char #1 differ - expected: 'X', found: '?' |
33 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
8 |
Correct |
2 ms |
376 KB |
n = 20, m = 5 |
9 |
Correct |
2 ms |
376 KB |
n = 18, m = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 17, m = 2 |
11 |
Correct |
2 ms |
376 KB |
n = 20, m = 2 |
12 |
Correct |
2 ms |
256 KB |
n = 17, m = 4 |
13 |
Correct |
2 ms |
380 KB |
n = 17, m = 6 |
14 |
Correct |
2 ms |
376 KB |
n = 17, m = 1 |
15 |
Correct |
2 ms |
376 KB |
n = 17, m = 4 |
16 |
Correct |
3 ms |
380 KB |
n = 13, m = 3 |
17 |
Correct |
2 ms |
256 KB |
n = 18, m = 4 |
18 |
Correct |
2 ms |
376 KB |
n = 20, m = 10 |
19 |
Correct |
2 ms |
376 KB |
n = 19, m = 10 |
20 |
Correct |
2 ms |
376 KB |
n = 100, m = 5 |
21 |
Correct |
2 ms |
256 KB |
n = 90, m = 3 |
22 |
Correct |
2 ms |
380 KB |
n = 86, m = 2 |
23 |
Correct |
2 ms |
256 KB |
n = 81, m = 4 |
24 |
Correct |
2 ms |
376 KB |
n = 89, m = 10 |
25 |
Correct |
2 ms |
256 KB |
n = 81, m = 23 |
26 |
Correct |
2 ms |
376 KB |
n = 86, m = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 53, m = 22 |
28 |
Correct |
2 ms |
376 KB |
n = 89, m = 35 |
29 |
Correct |
2 ms |
376 KB |
n = 63, m = 25 |
30 |
Correct |
2 ms |
376 KB |
n = 100, m = 50 |
31 |
Correct |
2 ms |
256 KB |
n = 99, m = 50 |
32 |
Incorrect |
2 ms |
256 KB |
char #1 differ - expected: 'X', found: '?' |
33 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
n = 13, m = 1 |
2 |
Correct |
2 ms |
376 KB |
n = 18, m = 1 |
3 |
Correct |
2 ms |
356 KB |
n = 17, m = 1 |
4 |
Correct |
2 ms |
376 KB |
n = 1, m = 1 |
5 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
6 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
7 |
Correct |
2 ms |
376 KB |
n = 20, m = 1 |
8 |
Correct |
2 ms |
376 KB |
n = 20, m = 5 |
9 |
Correct |
2 ms |
376 KB |
n = 18, m = 3 |
10 |
Correct |
2 ms |
376 KB |
n = 17, m = 2 |
11 |
Correct |
2 ms |
376 KB |
n = 20, m = 2 |
12 |
Correct |
2 ms |
256 KB |
n = 17, m = 4 |
13 |
Correct |
2 ms |
380 KB |
n = 17, m = 6 |
14 |
Correct |
2 ms |
376 KB |
n = 17, m = 1 |
15 |
Correct |
2 ms |
376 KB |
n = 17, m = 4 |
16 |
Correct |
3 ms |
380 KB |
n = 13, m = 3 |
17 |
Correct |
2 ms |
256 KB |
n = 18, m = 4 |
18 |
Correct |
2 ms |
376 KB |
n = 20, m = 10 |
19 |
Correct |
2 ms |
376 KB |
n = 19, m = 10 |
20 |
Correct |
2 ms |
376 KB |
n = 100, m = 5 |
21 |
Correct |
2 ms |
256 KB |
n = 90, m = 3 |
22 |
Correct |
2 ms |
380 KB |
n = 86, m = 2 |
23 |
Correct |
2 ms |
256 KB |
n = 81, m = 4 |
24 |
Correct |
2 ms |
376 KB |
n = 89, m = 10 |
25 |
Correct |
2 ms |
256 KB |
n = 81, m = 23 |
26 |
Correct |
2 ms |
376 KB |
n = 86, m = 8 |
27 |
Correct |
2 ms |
380 KB |
n = 53, m = 22 |
28 |
Correct |
2 ms |
376 KB |
n = 89, m = 35 |
29 |
Correct |
2 ms |
376 KB |
n = 63, m = 25 |
30 |
Correct |
2 ms |
376 KB |
n = 100, m = 50 |
31 |
Correct |
2 ms |
256 KB |
n = 99, m = 50 |
32 |
Incorrect |
2 ms |
256 KB |
char #1 differ - expected: 'X', found: '?' |
33 |
Halted |
0 ms |
0 KB |
- |