# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
99025 | 2019-02-28T05:55:30 Z | 크리(#2856, kriii) | Growing Vegetable is Fun 3 (JOI19_ho_t3) | C++17 | 5 ms | 1280 KB |
#include <stdio.h> #include <algorithm> #include <vector> using namespace std; vector<int> pos[3]; int N; char S[404]; int T[404]; int X,C[3000000][3],D[3000000][3]; int tr(int i, int j, int k) { return (i * (pos[1].size() + 1) + j) * (pos[2].size() + 1) + k; } int main() { scanf ("%d",&N); scanf ("%s",S); for (int i=0;i<N;i++){ if (S[i] == 'R') T[i] = 0; if (S[i] == 'G') T[i] = 1; if (S[i] == 'Y') T[i] = 2; pos[T[i]].push_back(i); } for (int i=0;i<=pos[0].size();i++) for (int j=0;j<=pos[1].size();j++) for (int k=0;k<=pos[2].size();k++){ C[X][0] = i; C[X][1] = j; C[X][2] = k; D[X][0] = D[X][1] = D[X][2] = 0x7fffff; X++; } D[0][0] = D[0][1] = D[0][2] = 0; for (int x=0;x<X;x++){ int c[3] = {C[x][0], C[x][1], C[x][2]}; for (int k=0;k<3;k++) if (c[k] < pos[k].size()){ int v = abs(c[0]+c[1]+c[2]-pos[k][c[k]]); c[k]++; int t = tr(c[0],c[1],c[2]); for (int l=0;l<3;l++) if (l != k){ if (D[x][l] == 0x7fffff) continue; int d = D[x][l] + v; if (D[t][k] > d) D[t][k] = d; } c[k]--; } } int ans = min({D[X-1][0],D[X-1][1],D[X-1][2]}); if (ans == 0x7fffff) ans = -1; else ans /= 2; printf ("%d\n",ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 3 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 256 KB | Output is correct |
6 | Correct | 3 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 3 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 256 KB | Output is correct |
11 | Incorrect | 3 ms | 256 KB | Output isn't correct |
12 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 3 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 256 KB | Output is correct |
6 | Correct | 3 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 3 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 256 KB | Output is correct |
11 | Incorrect | 3 ms | 256 KB | Output isn't correct |
12 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 384 KB | Output is correct |
2 | Correct | 3 ms | 1280 KB | Output is correct |
3 | Correct | 3 ms | 1280 KB | Output is correct |
4 | Correct | 4 ms | 1280 KB | Output is correct |
5 | Correct | 4 ms | 1280 KB | Output is correct |
6 | Correct | 3 ms | 1280 KB | Output is correct |
7 | Correct | 5 ms | 1280 KB | Output is correct |
8 | Correct | 1 ms | 1152 KB | Output is correct |
9 | Correct | 4 ms | 1280 KB | Output is correct |
10 | Correct | 5 ms | 1280 KB | Output is correct |
11 | Correct | 5 ms | 1280 KB | Output is correct |
12 | Correct | 2 ms | 640 KB | Output is correct |
13 | Correct | 2 ms | 768 KB | Output is correct |
14 | Correct | 3 ms | 896 KB | Output is correct |
15 | Correct | 0 ms | 1280 KB | Output is correct |
16 | Correct | 3 ms | 1280 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 3 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 256 KB | Output is correct |
6 | Correct | 3 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 256 KB | Output is correct |
8 | Correct | 3 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 256 KB | Output is correct |
11 | Incorrect | 3 ms | 256 KB | Output isn't correct |
12 | Halted | 0 ms | 0 KB | - |