Submission #522272

# Submission time Handle Problem Language Result Execution time Memory
522272 2022-02-04T12:06:05 Z new_acc Miners (IOI07_miners) C++14
100 / 100
169 ms 100776 KB
#include<bits/stdc++.h>
#define fi first
#define se second
#define rep(a, b) for(int a = 0; a < (int)(b); a++)
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
const int N=1e5+10;
int dp[N][4][4][4][4];
string s;
//M=0,F=1,B=2
void ob(int k){
	int num=(s[k]=='M'?0:(s[k]=='F'?1:2));
	rep(i,4) rep(j,4) rep(x,4) rep(y,4){
		bool c[4];
		c[0]=0,c[1]=0,c[2]=0,c[3]=0;
		c[i]=1,c[j]=1,c[num]=1;
		int diff1=c[0]+c[1]+c[2];
		c[i]=0,c[j]=0,c[num]=0,c[num]=1,c[x]=1,c[y]=1;
		int diff2=c[0]+c[1]+c[2];
		dp[k][i][j][x][y]=max(dp[k+1][num][i][x][y]+diff1,dp[k+1][i][j][num][x]+diff2);
	}
}
void solve(){
	int n;
	cin>>n;
	cin>>s;
	for(int i=s.size()-1;i>=0;i--) ob(i);
	int res=0;
	cout<<dp[0][3][3][3][3]<<"\n";
}
int main(){
	ios_base::sync_with_stdio(0),cin.tie(0);
	solve();
}

Compilation message

miners.cpp: In function 'void solve()':
miners.cpp:30:6: warning: unused variable 'res' [-Wunused-variable]
   30 |  int res=0;
      |      ^~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1228 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 5324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 10244 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 43 ms 25320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 169 ms 75628 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 168 ms 100776 KB Output is correct