Cod sursa(job #2916069)
Utilizator | Data | 27 iulie 2022 23:28:44 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int v[1000005];
signed main()
{
int n,i,k=0,candidat,nr=0;
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
for(i=1;i<=n;i++)
{
if(k==0)
{
k=1;
candidat=v[i];
}
else
if(v[i]==candidat)
{
k++;
}
else
k--;
}
if(k!=0)
{
for(i=1;i<=n;i++)
{
if(v[i]==candidat)
nr++;
}
if(nr>=n/2+1)
out<<candidat<<" "<<nr;
else
out<<-1;
}
return 0;
}