Cod sursa(job #1997903)
Utilizator | Scarlatachi Matei mateiscarl | Data | 5 iulie 2017 21:08:56 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#define N 1000001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout ("elmaj.out");
int main()
{int a[N],n,x,y,i,ct;
fin>>n;
for (i=1;i<=n;i++) fin>>a[i];
x=a[1];y=1;
for (i=2;i<=n;i++)
if (a[i]==x) y++;
else if (y>0) y--;
else {x=a[i];
y=1;
}
ct=0;
for (i=1;i<=n;i++)
if (a[i]==x) ct++;
if (ct>=n/2+1) fout<<x<<" "<<ct;
else fout<<-1;
fin.close();
fout.close();
return 0;
}