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
AC × 7
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