답안 #1008247

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1008247 2024-06-26T08:36:46 Z vjudge1 Miners (IOI07_miners) C++17
100 / 100
694 ms 63932 KB
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define pb push_back
#define ll long long
#define int long long
const long long inf=1e18;
const int MOD=1e9+7;
const int N=1e5+1;
int dp[N][3][3][3][3];//M=0 F1 B=2
signed main()
{
   int n; cin>>n;
   string s; cin>>s;
   s='#'+s;
   int ans=0;
   for(int i=1;i<=n;i++){
       int x=0;
       if(s[i]=='F')x=1;
       if(s[i]=='B')x=2;
       for(int j=0;j<3;j++){
           for(int k=0;k<3;k++){
               for(int l=0;l<3;l++){
                   for(int u=0;u<3;u++){
                       int score;
                       set<int> a={x,j,k};
                       score=a.size();
                       dp[i][k][x][l][u]=max(dp[i][k][x][l][u],dp[i-1][j][k][l][u]+score);
                       a={x,l,u};
                       score=a.size();
                       dp[i][j][k][u][x]=max(dp[i][j][k][u][x],dp[i-1][j][k][l][u]+score);
                       ans=max({ans,dp[i][k][x][l][u],dp[i][j][k][u][x]});
                   }
               }
           }
       }
   }
   cout<<ans-6;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 860 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 43 ms 3492 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 69 ms 6632 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 161 ms 16168 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 518 ms 48116 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 694 ms 63932 KB Output is correct