Cod sursa(job #1689679)
Utilizator | Vrabie Vladislav emity03 | Data | 14 aprilie 2016 14:41:21 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#include <map>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int N,x;
map<int,int> M;
int main()
{
fin>>N;
for(int i=0; i<N; ++i)
{
fin>>x;
M[x]++;
if(M[x]>=N/2+1){
fout<<x<<" "<<M[x];
break;
}
else
x=-1;
}
if(x==-1) fout<<"-1";
/*for(map<int,int> :: iterator it=M.begin(); it!=M.end(); it++){
if(it->second>=N/2+1){ fout<<it->first<<" "<< it->second; break;}
else if(it==--M.end() && it->second<(N/2+1)) fout<<"-1";
}*/
return 0;
}