题意描述:有许多电影和珂学家,电影有字幕和音频,珂学家听的懂音频满意,看得懂字幕为较满意,求最多满意的人,但语言的数非常大……

思路:哈希统计(可用STL map)STL大法好!!

吐槽:数据居然会卡死unordered_map!

代码

#include<bits/stdc++.h>
using namespace std;
const int N=200005;
unordered_map<int,int> m1;//统计用映射
int n,m,a[N],b[N],c[N],ans=-1;//ans 记录答案下标
int main(){
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i],m1[a[i]]++;//统计珂学家 
    cin>>m;
    for(int i=0;i<m;i++) cin>>b[i];
    for(int i=0;i<m;i++) cin>>c[i];
    ans=0;
    for(int i=0;i<m;i++){
        if(m1[b[i]]>m1[b[ans]]) ans=i;
        else if(m1[b[i]]==m1[b[ans]]&&m1[c[i]]>m1[c[ans]]) ans=i;
    }
    cout<<ans+1;//因为是下标,所以要加一
    return 0;
}