Cod sursa(job #1017658)
| Utilizator | Data | 28 octombrie 2013 08:06:33 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <fstream>
#define maxn 10000001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int v[maxn],wh,nr,k,n;
int main ()
{
fin>>n;
for (int i=1; i<=n; ++i)
{
fin>>v[i];
if (k==0)
{
++k;
wh = v[i];
}
else
{
if (v[i]==wh)
{
k++;
}
else
{
k--;
}
}
}
for (int i=1; i<=n; ++i)
{
if (v[i]==wh)
{
++nr;
}
}
if (nr < n/2 +1)
{
fout<<-1;
}
else
{
fout<<wh<<" "<<nr;
}
}
