# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1172503 | pinbu | Growing Vegetable is Fun 3 (JOI19_ho_t3) | C++20 | 172 ms | 141020 KiB |
#include <bits/stdc++.h>
using namespace std;
const int N = 404;
void mini(int &X, int Y) {
if (X > Y) X = Y;
}
int n;
string s;
vector<int> pos[3] {{-1}, {-1}, {-1}}, num[3][N];
signed main(void) {
ios::sync_with_stdio(false); cin.tie(nullptr);
cin >> n >> s;
s = '&' + s;
for (int i = 1; i <= n; i++) {
if (s[i] == 'G') pos[0].emplace_back(i);
else if (s[i] == 'R') pos[1].emplace_back(i);
else pos[2].emplace_back(i);
}
int ng = pos[0].size() - 1, nr = pos[1].size() - 1, ny = pos[2].size() - 1;
vector<vector<vector<vector<int>>>> dp(ng + 3, vector<vector<vector<int>>>(nr + 3, vector<vector<int>>(ny + 3, vector<int>(3, N * N))));
for (int i = 0; i <= n; i++) {
num[0][i].resize(ng + 3, 0);
num[1][i].resize(nr + 3, 0);
num[2][i].resize(ny + 3, 0);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |