Cod sursa(job #2398279)

Utilizator Alexandru2006Mihailescu Alexandru Alexandru2006 Data 5 aprilie 2019 11:40:00
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;

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

int v[1000001];

int main()
{
    int x,n,i,nr;
    fin>>n;
    for(i=1;i<=n;i++)
    {
     fin>>v[i];
    }
    x=v[1];
    nr=1;
    for(i=2;i<=n;i++)
    {
     if(nr==0){x=v[i]; nr=1;}else
     if(x==v[i]){nr++;}
     else{nr--;}
    }
    nr=0;
    for(i=1;i<=n;i++)
    {
     if(x==v[i]){nr++;}
    }
    if(nr>=n/2+1){fout<<x<<" "<<nr;}
    else{fout<<-1;}
    return 0;
}