Submission #1307114

#TimeUsernameProblemLanguageResultExecution timeMemory
1307114fafnirPaint By Numbers (IOI16_paint)C++20
32 / 100
1 ms352 KiB
#include <bits/stdc++.h> using namespace std; #include "paint.h" string solve_puzzle(string s, vector<int> c) { int N = s.length(), K = c.size(); vector<int> L(K), R(K); L[0] = 0; for (int i = 1; i < K; i++) L[i] = L[i-1] + c[i-1] + 1; R[K-1] = N - c[K-1]; for (int i = K-2; i >= 0; i--) R[i] = R[i+1] - c[i] - 1; vector<bool> canX(N, false), canW(N, false); for (int i = 0; i < N; i++) { bool coveredByAll = false; for (int j = 0; j < K; j++) { if (i >= R[j] && i < L[j] + c[j]) coveredByAll = true; } if (!coveredByAll) canW[i] = true; } for (int j = 0; j < K; j++) { for (int i = L[j]; i <= R[j] + c[j] - 1; i++) { if (i >= L[j] && i < R[j] + c[j]) canX[i] = true; } } vector<bool> mustX(N, false); for (int j = 0; j < K; j++) { for (int i = R[j]; i < L[j] + c[j]; i++) mustX[i] = true; } string res = ""; for (int i = 0; i < N; i++) { if (mustX[i]) res += 'X'; else if (!canX[i]) res += '_'; else res += '?'; } return res; }

Compilation message (stderr)

paint.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
paint_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...