Submission #1287643

#TimeUsernameProblemLanguageResultExecution timeMemory
1287643BlockOGMiners (IOI07_miners)C++20
25 / 100
1 ms580 KiB
#include <bits/stdc++.h> // mrrrow meeow :3 // go play vivid/stasis now! https://vividstasis.gay #define fo(i, a, b) for (auto i = (a); i < (b); i++) #define of(i, a, b) for (auto i = (b); i-- > (a);) #define f first #define s second #define pb push_back #define lb lower_bound #define ub upper_bound #define be(a) a.begin(), a.end() using namespace std; int ____init = [] { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); return 0; }(); int calc_add(string &s, char ad) { int m = 0, f = 0, b = 0; if (ad == 'M') m = 1; else if (ad == 'F') f = 1; else b = 1; fo(i, 0, 2) { if (i < s.size()) { if (s[s.size() - 1 - i] == 'M') m = 1; else if (s[s.size() - 1 - i] == 'F') f = 1; else b = 1; } } return m + f + b; } int main() { string s; cin >> s >> s; string a, b; int res = 0; for (char c : s) { int add_a = calc_add(a, c); int add_b = calc_add(b, c); if (add_a > add_b) a += c, res += add_a; else b += c, res += add_b, swap(a, b); } cout << res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...