比赛 寒假集训5 评测结果 AAAAAAAAAA
题目名称 省选之后 最终得分 100
用户昵称 Ruyi 运行时间 0.131 s
代码语言 C++ 内存使用 4.03 MiB
提交时间 2026-03-01 10:06:33
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define N 100001
using namespace std;
ll n,m,k[N],flag,v[N],maxx[N],ans=1,sum;
string s;
int main(){
	freopen("Toilets.in","r",stdin);
	freopen("Toilets.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>s>>k[i];
		for(int j=s.size()-1;j>=0;j--){
			if(s[j]=='F') v[i]--;
			else v[i]++;
			maxx[i]=max(maxx[i],v[i]);
		}
		flag+=v[i]*k[i];
	}
	if(flag>0){
		cout<<-1<<endl;
		return 0;
	}
	for(int i=m;i>0;i--){
		if(v[i]>0) ans=max(ans,sum+(k[i]-1)*v[i]+maxx[i]);
		else ans=max(ans,sum+maxx[i]);
		sum+=v[i]*k[i];
	}
	cout<<ans-1<<endl;
	return 0;
}