Submission #552842

# Submission time Handle Problem Language Result Execution time Memory
552842 2022-04-24T07:04:22 Z Mahmudul_Kabir Miners (IOI07_miners) C++14
66 / 100
267 ms 210824 KB
/*
    
    Note        :            
 
    Link        :       
 
    Boka hoye gelum...
*/
 
#include "bits/stdc++.h"
 
#define sp <<" "
#define el <<"\n"
#define S second
#define F first
#define pb push_back
#define all(ar) ar.begin(),ar.end() 
#define pii pair<ll,ll> 
 
 
using namespace std;
using ll = long long;
using ld = long double;

const ll mod = 1000000007;
const ll oo = 3372036000000000;
const ll si = 100005;

ll mao[100001][4][4][4][4],n; 
string s; 
vector<int> man;  

ll point(ll a,ll b,ll c){
    ll ans = 3; 
    if(a == 0 || b == 0){
        if(a == 0) ans--; 
        if(b == 0) ans--; 
        return ans; 
    }
    if(a == b && b == c) ans = 1; 
    else if(a == b) ans = 2; 
    else if(a == c) ans = 2; 
    else if(b == c) ans = 2; 
    return ans; 
}

ll dp(ll i, ll a1, ll a2, ll b1, ll b2){
    if(i == n) return 0; 
    if(mao[i][a1][a2][b1][b2] == -1){
        ll ans = 0, x = man[i]; 
        ans = max(dp(i + 1, a2, x, b1, b2) + point(a1,a2,x), dp(i + 1, a1, a2, b2, x) + point(b1,b2,x));
        mao[i][a1][a2][b1][b2] = ans;
    }
    return mao[i][a1][a2][b1][b2]; 
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    /*
#ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
#endif
//*/ 
    cin>>n>>s;  
    ll i = 0; 
    for(char r: s){
        if(r == 'F') man.pb(1); 
        else man.pb((r == 'M' ? 2 : 3)); 
    }
    memset(mao,-1,sizeof(mao));  
    cout<<dp(0,0,0,0,0); 
    return 0;
}
/*
    check for: 
        *missed a break, continue ? 
        *corner cases, n = 1?
        *overflow.
        *unnecessary logics.
        *impreciseness caused by double or long double. 
 
*/

Compilation message

miners.cpp: In function 'int main()':
miners.cpp:67:8: warning: unused variable 'i' [-Wunused-variable]
   67 |     ll i = 0;
      |        ^
# Verdict Execution time Memory Grader output
1 Incorrect 91 ms 200652 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 75 ms 200680 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 79 ms 200640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 93 ms 200584 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 79 ms 200652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 76 ms 200608 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 77 ms 200668 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 96 ms 201128 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 100 ms 201760 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 121 ms 203288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 160 ms 208360 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 267 ms 210824 KB Output is correct