Cod sursa(job #1546083)

Utilizator daneel95Holteiu Daniel-Ninel daneel95 Data 7 decembrie 2015 17:46:35
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;

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

int n;
int a[1000005];

int main()
{
    int i,candidat,k;
    in>>n;
    for(i=1;i<=n;i++) in>>a[i];
    candidat=a[1];
    k=1;
    for(i=2;i<=n;i++)
    {
        if(a[i]==candidat) k++;
            else k--;
        if(k==0)
        {
            candidat=a[i];
            k=1;
        }
    }
    k=0;
    for(i=1;i<=n;i++)
        if(a[i]==candidat) k++;
    if(k>=n/2+1) out<<candidat<<" "<<k;
        else out<<"-1";
    in.close();
    out.close();
    return 0;
}