PAT(甲级)1041

it2022-06-10  100

vector p[10005],输入值作为下标,保存输入顺序。再从1-10000进行遍历,找出只出现过一次的数值,并比较输入顺序,最后保留输入顺序最小的值。

#include<bits/stdc++.h> #define lowbit(x) ((x)&(-(x))) #define ll long long #define INF 0x3f3f3f3f #define N 100000 #define CLR(a) memset(a, 0, sizeof(a)) using namespace std; int n,tmp; vector<int> p[10005]; int main() { int ans=INF; int loc; cin>>n; for(int i=0;i<n;i++){ cin>>tmp; p[tmp].push_back(i); } for(int i=1;i<=10000;i++){ if(p[i].size()==1){ if(p[i][0]<ans){ ans=p[i][0]; loc=i; } } } if(ans!=INF){ cout<<loc<<endl; } else{ cout<<"None"<<endl; } return 0; }

最新回复(0)