Cod sursa(job #1953246)

Utilizator RazvanPanaiteRazvan Panaite RazvanPanaite Data 4 aprilie 2017 18:40:34
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
#define EMAX 1000010

using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int V[EMAX];
int n,i,nr,cand,cate;

int main()
{fin>>n;
 fin>>V[1];
 cand=V[1];
 nr=1;
 for(i=2;i<=n;i++)
     {fin>>V[i];
      if(V[i]==cand)
         nr++;
         else
         {nr--;
          if(nr==0)
             {cand=V[i];
              nr=1;
             }
         }
     }
 for(i=1;i<=n;i++)
     if(V[i]==cand)
        cate++;
 if(cate>=n/2+1)
    fout<<cand<<' '<<cate;
    else
    fout<<-1;
    return 0;
}