Cod sursa(job #2236049)
| Utilizator | Data | 27 august 2018 22:48:26 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include <fstream>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int v[1000000+5];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>v[i];
int winner=v[0],vot=1;
for(int i=1;i<n;i++)
if(v[i]==winner)
vot++;
else
{
if(vot==0)
{
winner=v[i];
vot=1;
}
else
vot--;
}
int have=0;
for(int i=0;i<n;i++)
if(v[i]==winner)
have++;
if(have>=n/2+1)
cout<<winner<<" "<<have<<"\n";
else
cout<<"-1\n";
return 0;
}
