Cod sursa(job #1538176)

Utilizator andreiudilaUdila Andrei andreiudila Data 28 noiembrie 2015 16:55:55
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,a,f[1000001],maxim,i,nr;

int main()
{
    fin>>n;
    for (i=1; i<=n; ++i)
        fin>>f[i];

    int x=f[1];
    nr=1;

    for(i=2;i<=n;i++)
    {
        if(f[i]==x) nr++;
        else nr--;
        if(nr==0) x=f[i], nr=1;
    }
    nr=0;
    for(i=1;i<=n;i++)
        if(f[i]==x) nr++;

        if(nr>=n/2+1) fout<<x<<" "<<nr;
        else fout<<"-1";



    return 0;
}