FST了,TLE on test #19
题目:rt
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e5+5;
int a[30];
int b[30];
char s[N];
int n,m,k,q;
signed main(){
int t;
scanf("%lld",&t);
while (t--){
cin>>q;
for (int i=1;i<=26;i++)
a[i]=b[i]=0;
a[1]=b[1]=1;
while (q--){
int opt,k;
cin>>opt>>k>>s+1;
if (opt==1)
for (int i=1;i<=strlen(s+1);i++)
a[s[i]-'a'+1]+=k;
else
for (int i=1;i<=strlen(s+1);i++)
b[s[i]-'a'+1]+=k;
int aa=0,bb=0;
for (int i=1;i<=26;i++)
if (a[i]!=0){
aa=i;
break;
}
for (int i=26;i>=1;i--)
if (b[i]!=0){
bb=i;
break;
}
if (aa==bb){
bool ok=0;
for (int i=aa+1;i<=26;i++)
if (a[i]!=0)ok=1;
if (a[aa]<b[aa]&&!ok){
puts("YES");
continue;
}
}
if (aa<bb){
puts("YES");
continue;
}
else{
puts("NO");
continue;
}
}
}
}