Cod sursa(job #1852553)

Utilizator serafimalex2001Serafim Alex serafimalex2001 Data 20 ianuarie 2017 22:01:04
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int a[1000000];
int main()
{   int i,n,maj,vot,ct;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    maj=a[1];
    vot=1;
    for(i=2;i<=n;i++)
        if(a[i]==maj)
            vot++;
        else if(vot>0)
                vot--;
             else
            {
                maj=a[i];
                vot=1;
            }
    ct=0;
    for(i=1;i<=n;i++)
        if(a[i]==maj)
            ct++;
    if(ct>=n/2+1)
        fout<<maj<<" "<<ct;
    else
        fout<<-1;
    return 0;
}