Submission #956743

# Submission time Handle Problem Language Result Execution time Memory
956743 2024-04-02T12:15:43 Z DeltaStruct Miners (IOI07_miners) C++17
100 / 100
130 ms 604 KB
#include <bits/stdc++.h>
using namespace std;
 
int main(){
  int n,id=numeric_limits<int>::lowest(); cin >> n; string s; cin >> s; vector dp(4,vector(4,vector(4,vector<int>(4,id))));
  string u = "MFB"; dp[3][3][3][3] = 0; auto res = dp;
  for (char a:s){
    int t = find(u.begin(),u.end(),a)-u.begin();
    for (int i(0);i < 4;++i) for (int k(0);k < 4;++k) for (int j(0);j < 4;++j) for (int l(0);l < 4;++l){
      if (dp[i][k][j][l]!=id){
        res[k][t][j][l] = max(res[k][t][j][l],dp[i][k][j][l]+(i==0||k==0||t==0)+(i==1||k==1||t==1)+(i==2||k==2||t==2));
        res[i][k][l][t] = max(res[i][k][l][t],dp[i][k][j][l]+(j==0||l==0||t==0)+(j==1||l==1||t==1)+(j==2||l==2||t==2));
      }
    }
    swap(dp,res);
  }
  int r = 0;
  for (int i(0);i < 4;++i) for (int k(0);k < 4;++k) for (int j(0);j < 4;++j) for (int l(0);l < 4;++l){
    r = max(r,dp[i][k][j][l]);
  }
  cout << r << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 33 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 99 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 130 ms 604 KB Output is correct