Submission #890787

# Submission time Handle Problem Language Result Execution time Memory
890787 2023-12-22T03:19:04 Z Sir_Ahmed_Imran Miners (IOI07_miners) C++17
84 / 100
1500 ms 592 KB
                              ///~~~LOTA~~~///
#include <bits/stdc++.h>
using namespace std;
#define nl '\n'
#define ff first
#define ss second
#define ll long long 
#define append push_back
#define all(x) (x).begin(),(x).end()
int dp[2][4][4][4][4];
set<int> x;
inline int c(int& n,int& m,int& o){
    if(n) x.insert(n);
    if(m) x.insert(m);
    if(o) x.insert(o);
    int z=x.size();
    x.clear();
    return z;
}
void solve(){
    char s;
    int n,m,o,p,q,r;
    cin>>n;
    for(int i=0;i<2;i++)
        for(int j=0;j<4;j++)
            for(int k=0;k<4;k++)
                for(int l=0;l<4;l++)
                    for(int t=0;t<4;t++)
                        dp[i][j][k][l][t]=-1e9;
    dp[0][0][0][0][0]=0;
    for(int i=0;i<n;i++){
        cin>>s;
        if(s=='M') m=1;
        if(s=='F') m=2;
        if(s=='B') m=3;
        for(int j=0;j<4;j++)
            for(int k=0;k<4;k++)
                for(int l=0;l<4;l++)
                    for(int t=0;t<4;t++)
                        dp[(i+1)%2][j][k][l][t]=-1e9;
        for(int j=0;j<4;j++){
            for(int k=0;k<4;k++){
                for(int l=0;l<4;l++){
                    for(int t=0;t<4;t++){
                        dp[(i+1)%2][k][m][l][t]=max(dp[(i+1)%2][k][m][l][t]
                        ,dp[i%2][j][k][l][t]+c(j,k,m));
                        dp[(i+1)%2][j][k][t][m]=max(dp[(i+1)%2][j][k][t][m]
                        ,dp[i%2][j][k][l][t]+c(l,t,m));
                    }
                }
            }
        }
    }
    for(int i=o=0;i<4;i++)
        for(int j=0;j<4;j++)
            for(int k=0;k<4;k++)
                for(int l=0;l<4;l++)
                    o=max(o,dp[n%2][i][j][k][l]);
    cout<<o;
}
int main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    solve();
    return 0;
}

Compilation message

miners.cpp: In function 'void solve()':
miners.cpp:22:15: warning: unused variable 'p' [-Wunused-variable]
   22 |     int n,m,o,p,q,r;
      |               ^
miners.cpp:22:17: warning: unused variable 'q' [-Wunused-variable]
   22 |     int n,m,o,p,q,r;
      |                 ^
miners.cpp:22:19: warning: unused variable 'r' [-Wunused-variable]
   22 |     int n,m,o,p,q,r;
      |                   ^
# 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 344 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 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 148 ms 436 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 305 ms 592 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 754 ms 456 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1554 ms 348 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1553 ms 348 KB Time limit exceeded
2 Halted 0 ms 0 KB -