Submission #1198051

#TimeUsernameProblemLanguageResultExecution timeMemory
1198051JooDdaeToilets (JOI16_toilets)C++20
100 / 100
12 ms4168 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

ll p, r[100100];
int n;
string s[100100];

int main() {
    cin.tie(0)->sync_with_stdio(0);
    cin >> p >> n;
    for(int i=1;i<=n;i++) cin >> s[i] >> r[i];

    ll ps = 0, ans = 0;
    for(int i=n;i>=1;i--) {
        ll mx = 0, S = 0;
        for(int j=s[i].size()-1;j>=0;j--) {
            mx = max(mx, S += (s[i][j] == 'M' ? 1 : -1));
        }
        ans = max(ans, ps+mx-1);
        ps += S * (r[i]-1);
        ans = max(ans, ps+mx-1);
        ps += S;
    }
    cout << (ps > 0 ? -1 : ans);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...