Cod sursa(job #1801892)
Utilizator | Data | 9 noiembrie 2016 18:12:57 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#define dim 1000000
using namespace std;
ifstream in ("elmaj.in");
ofstream out ("elmaj.out");
int v[ dim ];
int main()
{
int n,i,c,av,nr;
in>>n;
for (i=1;i<=n;i++)
in>>v[i];
c=v[i];
av=1;
for (i=2;i<=n;i++)
{
if (v[i]==c)
av++;
else
{
if (av==0)
{
c=v[i];
av=1;
}
else
av--;
}
}
nr=0;
for (i=1;i<=n;i++)
if (v[i]==c)
nr++;
if (nr>=n/2+1)
out<<c<<" "<<nr;
else
out<<"-1";
return 0;
}