Cod sursa(job #1978727)

Utilizator anisca22Ana Baltaretu anisca22 Data 8 mai 2017 18:01:34
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#define NMAX 1000005
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,cnt,key;
int a[NMAX];
int main()
{
    fin>>n;
    fin>>a[1];
    cnt=1;
    key=a[1];
    for(int i=2;i<=n;i++)
        {
            fin>>a[i];
            if(a[i]==key)
                cnt++;
            else{
                cnt--;
                if(cnt==0)
                {
                    key=a[i];
                    cnt=1;
                }
            }
        }
    cnt=0;
    for(int i=1;i<=n;i++)
        if(a[i]==key)
            cnt++;
    if(cnt>=n/2+1)
        fout<<key<<" "<<cnt<<"\n";
    else fout<<-1<<"\n";
    return 0;
}