Submission #5501730
Source Code Expand
#include <bits/stdc++.h> using namespace std; template<typename T1, typename T2> inline bool chmax (T1& a, T2 b) { if (a < b) { a = b; return true; } return false; } int main() { cin.tie(0); cin.sync_with_stdio(false); string s; cin >> s; int n = s.length(); vector<vector<int>> dp(n, vector<int>(n + 1, 0)); for (int d = 0; d <= n; d++) { for (int l = 0, r = d; r <= n; l++, r++) { int q = (r - l) / 3; if ( !((r - l) % 3) && q && s[l] == 'i' && s[r - 1] == 'i' && ( ( s[l + 1] == 'w' && dp[l + 2][r - 1] == q - 1 ) || ( dp[l + 1][r - 2] == q - 1 && s[r - 2] == 'w' ) ) ) { dp[l][r] = q; } else { for (int c = l; c < r; c++) { chmax(dp[l][r], dp[l][c] + dp[c][r]); } } } } cout << dp[0][n] << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | I - イウィ |
User | ngtkana |
Language | C++14 (GCC 5.4.1) |
Score | 5 |
Code Size | 1013 Byte |
Status | AC |
Exec Time | 6 ms |
Memory | 640 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 5 / 5 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 03, 04, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 6 ms | 640 KB |
01 | AC | 6 ms | 640 KB |
02 | AC | 6 ms | 640 KB |
03 | AC | 6 ms | 640 KB |
04 | AC | 5 ms | 512 KB |
90 | AC | 1 ms | 256 KB |
91 | AC | 1 ms | 256 KB |