Cod sursa(job #644903)
| Utilizator | Data | 7 decembrie 2011 19:41:59 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
using namespace std;
#include<fstream>
#include<iostream>
int cand,k=0, i, nr=0,n;
int a[1000005];
int main()
{
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f>>n;
cout<<n;
for(i=1; i<=n; i++)
{f>>a[i];
cout<<a[i];
}
for(i=1; i<=n; i++)
{
if(k==0)
{cand=a[i];
k=1;
}
else if(a[i]==cand)
k++;
else
k--;}
for(i=1; i<=n; i++)
if(a[i]==cand)
nr++;
if(nr>n/2+1)
g<<cand<<nr;
else
g<<"-1";
}