Cod sursa(job #1997903)

Utilizator mateiscarlScarlatachi 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;
}