Submission #1221435

#TimeUsernameProblemLanguageResultExecution timeMemory
122143512345678Toilets (JOI16_toilets)C++20
36 / 100
4 ms2772 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll nx=2e5+5; ll n, m, t, sf[nx], skip, cur, ans; string s; queue<int> q; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>m>>s>>t; n=2*n; for (int i=n-1; i>=0; i--) { sf[i]=(sf[i+1]+(s[i]=='M')); if (s[i]=='F') q.push(i); } if (sf[0]>n/2) return cout<<-1, 0; for (int i=n-1; i>=0; i--) { if (s[i]=='M') { if (cur-1<-1) { ans=max(ans, sf[q.front()]-skip); } else cur--, skip++; } else { if (q.front()==i) q.pop(), cur++; } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...