题意描述:有许多电影和珂学家,电影有字幕和音频,珂学家听的懂音频满意,看得懂字幕为较满意,求最多满意的人,但语言的数非常大……
思路:哈希统计(可用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;
}
最后一次更新于2019-08-02
0 条评论