Cod sursa(job #1851669)

Utilizator Radu_FilipescuFilipescu Radu Radu_Filipescu Data 19 ianuarie 2017 22:41:50
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

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

int a[1000005];

int main()
{
    int n,i,maj,nr;

    fin>>n;
    for(i=1; i<=n; i++) fin>>a[i];
    fin.close();

    maj=a[1];
    nr=0;
    for(i=1; i<=n; i++)
    {
      if(a[i]==maj) nr++;
      else nr--;
      if(nr==0) maj=a[i+1];
    }

    nr=0;
    for(i=1; i<=n; i++) if(a[i]==maj) nr++;

    if(nr>n/2) fout<<maj<<' '<<nr<<'\n';
    else fout<<"-1";

    fout.close();


    return 0;
}