Cod sursa(job #2208647)

Utilizator richard26Francu Richard richard26 Data 30 mai 2018 20:21:50
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("elmaj.in") ;
ofstream g("elmaj.out") ;

int a[1000001] ;
int main()
{
  int n,i,candidat,nrap ;
  f>>n ;
  for(i=1;i<=n;i++) f>>a[i] ;
  candidat=a[1] ;
  nrap=1 ;
  for(i=1;i<=n;i++)
  {
      if(a[i]==candidat) nrap++ ;
        else nrap-- ;
      if(nrap<0)
      {
          nrap=1 ;
          candidat=a[i] ;
      }
  }
  nrap=0 ;
  for(i=1;i<=n;i++)
    if(a[i]==candidat) nrap++ ;

  if(nrap>n/2) g<<candidat<<" "<<nrap ;
    else g<<-1 ;

  return 0 ;

}