题解:AT_abc398_c [ABC398C] Uniqueness
_qumingnan_ · · 题解
题目跳楼机
正文开始:
阅读理解:
有
思路
看到题目,我们立马就能想到用一个桶来统计数出现的情况,于是我们就只需要在统计完后再遍历一次,就可以求出值最大的人的编号。
代码实现:
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
int a[300005],ans=-1,s;
map<int,int>mp;//桶。因为 Ai<=1e9,数组大小不够,所以用map
signed main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i],mp[a[i]]++;//统计每个数出现的情况
for(int i=1;i<=n;i++)//遍历
if(mp[a[i]]==1)//只出现一次
if(a[i]>s)ans=i,s=a[i];
cout<<ans;
return 0;
}