# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
534465 |
2022-03-08T07:38:14 Z |
bonk |
Miners (IOI07_miners) |
C++14 |
|
409 ms |
1148 KB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll check(vector<char>v){
int n = v.size() - 1;
bool M, B, F;
M = B = F = 0;
for(int i = 0; i < 3; i++){
if(v[n - i] == 'M') M = true;
else if(v[n - i] == 'B') B = true;
else if(v[n - i] == 'F') F = true;
}
return (M + B + F);
}
int main(){
int n; cin >> n;
ll ans = 0;
vector<char>s(n);
for(int i = 1; i <= n; i++) cin >> s[i];
vector<char>a, b;
a.push_back('A');
a.push_back('A');
b.push_back('A');
b.push_back('A');
for(int i = 1; i <= n; i++){
bool x, y;
x = y = false;
if(s[i] != a.back() && s[i] == b.back()){
a.push_back(s[i]);
x = true;
} else if(s[i] != b.back() && s[i] == a.back()){
b.push_back(s[i]);
y = true;
} else if(s[i] != a.back() && s[i] != b.back()){
auto it1 = find(s.begin() + i, s.end(), a.back()) - s.begin();
auto it2 = find(s.begin() + i, s.end(), b.back()) - s.begin();
if(it1 < it2){
a.push_back(s[i]);
x = true;
}
else{
b.push_back(s[i]);
y = true;
}
} else{
vector<char>tmpa, tmpb;
tmpa = a;
tmpb = b;
tmpa.push_back(s[i]);
tmpb.push_back(s[i]);
if(check(tmpa) > check(tmpb)){
a.push_back(s[i]);
x = true;
} else{
b.push_back(s[i]);
y = true;
}
}
if(x) ans += check(a);
else ans += check(b);
}
cout << ans << endl;
return 0;
}
/*
MBF
MFB
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
# |
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 |
0 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 |
0 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
2 ms |
432 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
304 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
2 ms |
460 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
409 ms |
716 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
91 ms |
1148 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |