Submission #375687

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3756872021-03-09 16:54:08valerikkDango Maker (JOI18_dango_maker)C++17
100 / 100
1886 ms18540 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
// R
// RG
// RGW
// GW
// W
const int INF = 1e9;
int solve(vector<int> d, vector<int> r) {
int n = d.size();
vector<vector<int>> dp(3, vector<int>(3, -INF));
dp[0][0] = 0;
for (int i = 0; i < n; ++i) {
vector<vector<int>> ndp(3, vector<int>(3, -INF));
for (int x = 0; x < 3; ++x) {
for (int y = 0; y < 3; ++y) {
if (dp[x][y] == -INF) continue;
for (int z = 0; z < 3; ++z) {
if (z == 1 && (x == 2 || y == 2 || !d[i])) continue;
if (z == 2 && !r[i]) continue;
ndp[y][z] = max(ndp[y][z], dp[x][y] + !!z);
}
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...