Cod sursa(job #1600814)
Utilizator | Data | 15 februarie 2016 14:04:43 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int v[1000001];
int main()
{ int n,i,nr=1,maj;
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++)
{if(i==1)
{maj=v[i];
nr=0;}
if(maj==v[i])
nr++;
else nr--;
if(nr<0)
{maj=v[i];
nr=1;}}
if(nr>=1)
{nr=0;
for(i=1;i<=n;i++)
if(maj==v[i])
nr++;
if(nr>=n/2+1)
fout<<maj<<" "<<nr;
else
fout<<-1;}
else fout<<-1;
return 0;
}