Submission #1222392

#TimeUsernameProblemLanguageResultExecution timeMemory
122239212345678Toilets (JOI16_toilets)C++20
100 / 100
13 ms4168 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll nx=1e5+5; ll n, m, cnt[nx], sm, mnpref; string s[nx]; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>m; for (int i=1; i<=m; i++) cin>>s[i]>>cnt[i]; for (int i=m; i>=1; i--) { ll sz=s[i].size(), cursm=0, curmn=0; for (int j=sz-1; j>=0; j--) { if (s[i][j]=='F') cursm++; else cursm--; curmn=min(curmn, cursm); } mnpref=min({mnpref, sm+curmn, sm+(cnt[i]-1)*cursm+curmn}); sm+=cursm*cnt[i]; //cout<<"debug "<<sm<<' '<<mnpref<<'\n'; } if (sm<0) cout<<-1; else cout<<max(0ll, -1-mnpref); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...