Cod sursa(job #1597223)
Utilizator | aaa aaa gorni97 | Data | 11 februarie 2016 20:05:52 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
#define maxn 1000005
using namespace std;
int v[maxn];
int main()
{ int n,i,k,x,nr=0;
fstream f("elmaj.in",ios::in);
fstream g("elmaj.out",ios::out);
f>>n;
k=0;x=-1;
for(i=1;i<=n;i++)
{f>>v[i];
if(k==0)
{x=v[i];
k++;}
else
if(v[i]==x)
k++;
else
k--;
}
nr=0;
if(k<0) g<<-1;
else
{
for(i=1;i<=n;i++)
if(x==v[i])
nr++;
if(nr>n/2)
g<<x<<" "<<nr;
else g<<-1;}
}