Cod sursa(job #1250309)
Utilizator | Radu Bucur radu_bucur | Data | 27 octombrie 2014 23:37:22 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int i, c, nr, nr1, n, a[1000005];
int main()
{
in>>n;
for(i=0;i<n;i++) in>>a[i];
c=0; nr=0;
for(i=0;i<n;i++)
{
if(nr==0)
{
nr=1;
c=a[i];
}
else
{
if(c!=a[i])
{
nr--;
}
else
{
nr++;
}
}
}
nr1=0;
for(i=0;i<n;i++)
{
if(a[i]==c) nr1++;
}
if(nr1>=n/2+1) out<<c<<" "<<nr1;
else out<<"-1";
return 0;
}