# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
862503 |
2023-10-18T11:26:32 Z |
JakobZorz |
Miners (IOI07_miners) |
C++14 |
|
148 ms |
101600 KB |
#include<iostream>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
#include<limits.h>
#include<math.h>
#include<map>
#include<set>
#include<unordered_map>
#include<unordered_set>
#include<iomanip>
typedef long long ll;
typedef long double ld;
using namespace std;
const int MOD=1e9+7;
//typedef pair<ll,ll>Point;
//typedef pair<ll,ll>Line;
//#define x first
//#define y second
int n;
string str;
int get_val(int a,int b,int c){
if(a==0&&b==0)
return 1;
if(a==0)
return b!=c?2:1;
int res=3;
if(a==b||b==c||a==c)
res=2;
if(a==b&&b==c)
res=1;
return res;
}
bool dpt[4][4][4][4][100000];
int dp[4][4][4][4][100000];
int get(int m1,int m2,int m3,int m4,int i){
if(i==n)
return 0;
if(dpt[m1][m2][m3][m4][i])
return dp[m1][m2][m3][m4][i];
int curr=0;
if(str[i]=='M')
curr=1;
if(str[i]=='B')
curr=2;
if(str[i]=='F')
curr=3;
int val1=get(m2,curr,m3,m4,i+1);
int val2=get_val(m1,m2,curr);
int r1=get(m2,curr,m3,m4,i+1)+get_val(m1,m2,curr);
int r2=get(m1,m2,m4,curr,i+1)+get_val(m3,m4,curr);
dpt[m1][m2][m3][m4][i]=true;
dp[m1][m2][m3][m4][i]=max(r1,r2);
return max(r1,r2);
}
int main(){
ios::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
cin>>n;
cin>>str;
cout<<get(0,0,0,0,0)<<"\n";
return 0;
}
Compilation message
miners.cpp: In function 'int get(int, int, int, int, int)':
miners.cpp:56:9: warning: unused variable 'val1' [-Wunused-variable]
56 | int val1=get(m2,curr,m3,m4,i+1);
| ^~~~
miners.cpp:57:9: warning: unused variable 'val2' [-Wunused-variable]
57 | int val2=get_val(m1,m2,curr);
| ^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
39516 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
60504 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
37468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
60760 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
39516 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
39440 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
59228 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
40540 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
19 ms |
59364 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
45 ms |
64700 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
84 ms |
88764 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
148 ms |
101600 KB |
Output is correct |