感觉思路是对的,但是 48pts。
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000010],b[1000010],c[1000010],ans,vis[1000010];
char ch;
void getnum(char ch,int &x)
{
if(ch=='S')x=1;
if(ch=='M')x=2;
if(ch=='L')x=3;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
ch=getchar();
getnum(ch,c[i]);
}
for(int i=1;i<=m;i++)
{
ch=getchar();
cin>>b[i];
getnum(ch,a[i]);
}
for(int i=1;i<=m;i++)
{
if(vis[b[i]]==0&&c[b[i]]>=a[i])
{
ans++;
vis[b[i]]=1;
}
}
cout<<ans;
return 0;
}