比赛 寒假集训5 评测结果 WAAAAAWAAW
题目名称 省选之后 最终得分 70
用户昵称 梦那边的美好ME 运行时间 0.101 s
代码语言 C++ 内存使用 7.40 MiB
提交时间 2026-03-01 10:57:09
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long

ll n,m;
string s[110000];
ll k[110000],sum[110000],maxn[110000];
ll check,res,ans;

int main(){
	freopen("Toilets.in","r",stdin);
	freopen("Toilets.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for (int i=1;i<=m;i++){
		cin>>s[i]>>k[i];
		for (int j=s[i].length()-1;j>=0;j--){
			if (s[i][j]=='F') sum[i]--;
			else sum[i]++;
			maxn[i]=max(maxn[i],sum[i]);
		}
		check+=sum[i]*k[i];
	}
	if (check>0){
		cout<<-1<<'\n';
		return 0;
	}
	for (int i=m;i>0;i--){
		if (sum[i]<=0){
			ans=max(ans,res+maxn[i]);
		}else{
			ans=max(ans,res+(k[i]-1)*sum[i]+maxn[i]);
		}
		res+=sum[i]*k[i];
	}
	cout<<ans-1<<'\n';
	return 0;
}

/*
5
3
FFF 1
M 5
FF 1

FFFMMMMMFF

FMMFFMMMFF

-3 5 -2

1 1 -2


*/