Submission #789650

# Submission time Handle Problem Language Result Execution time Memory
789650 2023-07-21T15:57:37 Z AkramElOmrani Paint By Numbers (IOI16_paint) C++17
32 / 100
1 ms 340 KB
#pragma once

#include <bits/stdc++.h>
#include <string>
#include <vector>
using namespace std;

std::string solve_puzzle(std::string s, std::vector<int> c) {
	int n = s.length();
	int m = c.size();
	string ans(n, '?');

	int sm = accumulate(c.begin(), c.end(), 0) + c.size() - 1;
	if(sm == n) {
		int s = 0;
		for(int i = 0; i < m; ++i) {
			while(c[i]) {
				c[i]--;
				ans[s++] = 'X';
			}
			if(s != n) 
				ans[s++] = '_';
		}
		// cout << ans << '\n';
		return ans;
	}
	for(int i = 0; i < n; ++i) {
		int before = 0;
		int j = 0;
		while(j < m && before + c[j] <= i) {
			before += c[j++];
			before++;
		}
		before = i + 1;
		while(j < m && before + c[j] <= n) {
			before += c[j++];
			before++;
		}
		if(j != m) {
			ans[i] = 'X';
		}
	}

	return ans;
}

Compilation message

paint.cpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
8 Correct 1 ms 212 KB n = 20, m = 5
9 Correct 0 ms 212 KB n = 18, m = 3
10 Correct 1 ms 316 KB n = 17, m = 2
11 Correct 1 ms 308 KB n = 20, m = 2
12 Correct 0 ms 212 KB n = 17, m = 4
13 Correct 1 ms 212 KB n = 17, m = 6
14 Correct 0 ms 308 KB n = 17, m = 1
15 Correct 0 ms 212 KB n = 17, m = 4
16 Correct 0 ms 212 KB n = 13, m = 3
17 Correct 1 ms 212 KB n = 18, m = 4
18 Correct 0 ms 212 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
8 Correct 1 ms 212 KB n = 20, m = 5
9 Correct 0 ms 212 KB n = 18, m = 3
10 Correct 1 ms 316 KB n = 17, m = 2
11 Correct 1 ms 308 KB n = 20, m = 2
12 Correct 0 ms 212 KB n = 17, m = 4
13 Correct 1 ms 212 KB n = 17, m = 6
14 Correct 0 ms 308 KB n = 17, m = 1
15 Correct 0 ms 212 KB n = 17, m = 4
16 Correct 0 ms 212 KB n = 13, m = 3
17 Correct 1 ms 212 KB n = 18, m = 4
18 Correct 0 ms 212 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 212 KB n = 100, m = 5
21 Correct 1 ms 212 KB n = 90, m = 3
22 Correct 0 ms 308 KB n = 86, m = 2
23 Correct 1 ms 212 KB n = 81, m = 4
24 Correct 0 ms 212 KB n = 89, m = 10
25 Correct 0 ms 212 KB n = 81, m = 23
26 Correct 0 ms 212 KB n = 86, m = 8
27 Correct 0 ms 300 KB n = 53, m = 22
28 Correct 1 ms 212 KB n = 89, m = 35
29 Correct 0 ms 212 KB n = 63, m = 25
30 Correct 1 ms 212 KB n = 100, m = 50
31 Correct 1 ms 308 KB n = 99, m = 50
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
8 Correct 1 ms 212 KB n = 20, m = 5
9 Correct 0 ms 212 KB n = 18, m = 3
10 Correct 1 ms 316 KB n = 17, m = 2
11 Correct 1 ms 308 KB n = 20, m = 2
12 Correct 0 ms 212 KB n = 17, m = 4
13 Correct 1 ms 212 KB n = 17, m = 6
14 Correct 0 ms 308 KB n = 17, m = 1
15 Correct 0 ms 212 KB n = 17, m = 4
16 Correct 0 ms 212 KB n = 13, m = 3
17 Correct 1 ms 212 KB n = 18, m = 4
18 Correct 0 ms 212 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 212 KB n = 100, m = 5
21 Correct 1 ms 212 KB n = 90, m = 3
22 Correct 0 ms 308 KB n = 86, m = 2
23 Correct 1 ms 212 KB n = 81, m = 4
24 Correct 0 ms 212 KB n = 89, m = 10
25 Correct 0 ms 212 KB n = 81, m = 23
26 Correct 0 ms 212 KB n = 86, m = 8
27 Correct 0 ms 300 KB n = 53, m = 22
28 Correct 1 ms 212 KB n = 89, m = 35
29 Correct 0 ms 212 KB n = 63, m = 25
30 Correct 1 ms 212 KB n = 100, m = 50
31 Correct 1 ms 308 KB n = 99, m = 50
32 Incorrect 1 ms 212 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
8 Correct 1 ms 212 KB n = 20, m = 5
9 Correct 0 ms 212 KB n = 18, m = 3
10 Correct 1 ms 316 KB n = 17, m = 2
11 Correct 1 ms 308 KB n = 20, m = 2
12 Correct 0 ms 212 KB n = 17, m = 4
13 Correct 1 ms 212 KB n = 17, m = 6
14 Correct 0 ms 308 KB n = 17, m = 1
15 Correct 0 ms 212 KB n = 17, m = 4
16 Correct 0 ms 212 KB n = 13, m = 3
17 Correct 1 ms 212 KB n = 18, m = 4
18 Correct 0 ms 212 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 212 KB n = 100, m = 5
21 Correct 1 ms 212 KB n = 90, m = 3
22 Correct 0 ms 308 KB n = 86, m = 2
23 Correct 1 ms 212 KB n = 81, m = 4
24 Correct 0 ms 212 KB n = 89, m = 10
25 Correct 0 ms 212 KB n = 81, m = 23
26 Correct 0 ms 212 KB n = 86, m = 8
27 Correct 0 ms 300 KB n = 53, m = 22
28 Correct 1 ms 212 KB n = 89, m = 35
29 Correct 0 ms 212 KB n = 63, m = 25
30 Correct 1 ms 212 KB n = 100, m = 50
31 Correct 1 ms 308 KB n = 99, m = 50
32 Incorrect 1 ms 212 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
8 Correct 1 ms 212 KB n = 20, m = 5
9 Correct 0 ms 212 KB n = 18, m = 3
10 Correct 1 ms 316 KB n = 17, m = 2
11 Correct 1 ms 308 KB n = 20, m = 2
12 Correct 0 ms 212 KB n = 17, m = 4
13 Correct 1 ms 212 KB n = 17, m = 6
14 Correct 0 ms 308 KB n = 17, m = 1
15 Correct 0 ms 212 KB n = 17, m = 4
16 Correct 0 ms 212 KB n = 13, m = 3
17 Correct 1 ms 212 KB n = 18, m = 4
18 Correct 0 ms 212 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 212 KB n = 100, m = 5
21 Correct 1 ms 212 KB n = 90, m = 3
22 Correct 0 ms 308 KB n = 86, m = 2
23 Correct 1 ms 212 KB n = 81, m = 4
24 Correct 0 ms 212 KB n = 89, m = 10
25 Correct 0 ms 212 KB n = 81, m = 23
26 Correct 0 ms 212 KB n = 86, m = 8
27 Correct 0 ms 300 KB n = 53, m = 22
28 Correct 1 ms 212 KB n = 89, m = 35
29 Correct 0 ms 212 KB n = 63, m = 25
30 Correct 1 ms 212 KB n = 100, m = 50
31 Correct 1 ms 308 KB n = 99, m = 50
32 Incorrect 1 ms 212 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 13, m = 1
2 Correct 0 ms 212 KB n = 18, m = 1
3 Correct 0 ms 212 KB n = 17, m = 1
4 Correct 0 ms 212 KB n = 1, m = 1
5 Correct 0 ms 212 KB n = 20, m = 1
6 Correct 0 ms 340 KB n = 20, m = 1
7 Correct 0 ms 304 KB n = 20, m = 1
8 Correct 1 ms 212 KB n = 20, m = 5
9 Correct 0 ms 212 KB n = 18, m = 3
10 Correct 1 ms 316 KB n = 17, m = 2
11 Correct 1 ms 308 KB n = 20, m = 2
12 Correct 0 ms 212 KB n = 17, m = 4
13 Correct 1 ms 212 KB n = 17, m = 6
14 Correct 0 ms 308 KB n = 17, m = 1
15 Correct 0 ms 212 KB n = 17, m = 4
16 Correct 0 ms 212 KB n = 13, m = 3
17 Correct 1 ms 212 KB n = 18, m = 4
18 Correct 0 ms 212 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 212 KB n = 100, m = 5
21 Correct 1 ms 212 KB n = 90, m = 3
22 Correct 0 ms 308 KB n = 86, m = 2
23 Correct 1 ms 212 KB n = 81, m = 4
24 Correct 0 ms 212 KB n = 89, m = 10
25 Correct 0 ms 212 KB n = 81, m = 23
26 Correct 0 ms 212 KB n = 86, m = 8
27 Correct 0 ms 300 KB n = 53, m = 22
28 Correct 1 ms 212 KB n = 89, m = 35
29 Correct 0 ms 212 KB n = 63, m = 25
30 Correct 1 ms 212 KB n = 100, m = 50
31 Correct 1 ms 308 KB n = 99, m = 50
32 Incorrect 1 ms 212 KB char #1 differ - expected: 'X', found: '?'
33 Halted 0 ms 0 KB -