답안 #138887

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
138887 2019-07-30T18:30:05 Z arthurconmy Paint By Numbers (IOI16_paint) C++14
32 / 100
3 ms 380 KB
#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 -