Cod sursa(job #1404004)
Utilizator | Data | 27 martie 2015 18:28:15 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int nr=0,n,i,a[100000],k,cand;
int main()
{
f>>n;
for(i=1;i<=n;i++) f>>a[i];
k=0;
for(i=1;i<=n;i++)
{
if(k==0) {k=1;cand=a[i];}
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;g<<endl;g<<nr;} else g<<-1;
}