제출 #55435

#제출 시각아이디문제언어결과실행 시간메모리
55435DiuvenToilets (JOI16_toilets)C++11
100 / 100
27 ms908 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MX=200010, inf=2e9;

ll n, m;

void NOPE(){
    cout<<-1;
    exit(0);
}

int main(){
    ios::sync_with_stdio(0); cin.tie(0);
    cin>>n>>m;

    ll mn=0, sum=0;

    char S[MX]={}; ll k;
    for(int i=1; i<=m; i++){
        cin>>(S+1)>>k;

        ll now=0, low=0;
        for(int i=1; S[i]!=0; i++){
            now+=(S[i]=='M' ? 1 : -1);
            low=min(low, now);
        }

        mn=min({mn, sum+low, sum+low+now*(k-1)});

        sum+=now*k;
    }

    if(sum>0) NOPE();
    if(sum==mn) cout<<0;
    else cout<<sum-1-mn;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...