Submission #533880

# Submission time Handle Problem Language Result Execution time Memory
533880 2022-03-07T14:31:26 Z makanhulia Miners (IOI07_miners) C++17
16 / 100
5 ms 716 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const ll mod = 1e9 + 7;
#pragma GCC optimize("Ofast")
#define vi vector<int>
#define vll vector<ll>
#define pii pair<int, int>
#define mp make_pair
#define pb push_back
#define lb lower_bound
#define ub upper_bound
#define fi first
#define sc second
#define endl '\n'
#define gl ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

int n, ans = 0, a = 0, b = 0;
string s, s1 = "", s2 = "";

int main()
{
  cin >> n >> s;
  map<char, int> m1, m2;
  
  m1['M'] = 0;
  m1['B'] = 0;
  m1['F'] = 0;
  
  m2['M'] = 0;
  m2['B'] = 0;
  m2['F'] = 0;
  
  for(int i = 0; i < n; i++){
    if(m1[s[i]] == 0){
      m1[s[i]]++;
      a += 1;
      ans += a;
      s1 += s[i];
      if(s1.size() > 2){
        m1[s1[s1.size() - 3]]--;
        if(m1[s1[s1.size() - 3]] == 0) a--;  
      }
    }  
    else if(m2[s[i]] == 0){
      m2[s[i]]++;
      b += 1;
      ans += b;
      s2 += s[i];
      if(s2.size() > 2){
        m2[s2[s2.size() - 3]]--;
        if(m2[s2[s2.size() - 3]] == 0) b--;  
      }
    }
    else if(m1[s[i]] <= m2[s[i]]){
      m1[s[i]]++;
      ans += a;
      s1 += s[i];
      if(s1.size() > 2){
        m1[s1[s1.size() - 3]]--;
        if(m1[s1[s1.size() - 3]] == 0) a--;  
      }
    }
    else{
      m2[s[i]]++;
      ans += b;
      s2 += s[i];
      if(s2.size() > 2){
        m2[s2[s2.size() - 3]]--;
        if(m2[s2[s2.size() - 3]] == 0) b--;  
      }
    }
  }
  
  cout << ans << endl;
  
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 288 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 292 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 556 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 716 KB Output isn't correct
2 Halted 0 ms 0 KB -