Cod sursa(job #1389132)

Utilizator VictoriaNevTascau Victoria VictoriaNev Data 16 martie 2015 01:16:39
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[1000002], n, i, nr, elem;
int main()
{
    ifstream cin("elmaj.in");
    ofstream cout("elmaj.out");
    cin>>n;
    for(i=1; i<=n; i++)
        cin>>v[i];
    elem=v[1];nr=1;
    for(i=2; i<=n; i++)
        if(v[i]==elem)nr++;
        else
        {
            nr--;
            if(nr==0&&i<n)elem=v[i+1];
        }
    nr=0;
    for(i=1; i<=n; i++)
        if(elem==v[i])nr++;
    if(nr>=n/2+1)
        cout<<elem<<' '<<nr<<'\n';
    else cout<<-1<<'\n';
    return 0;
}