Cod sursa(job #694132)

Utilizator crazzytudTudor Popa crazzytud Data 27 februarie 2012 18:49:49
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
using namespace std;

ifstream in("elmaj.in");
ofstream out("elmaj.out");
int v[1000001];
int main()
{
    int n,elmaj,maj=0,i;
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];
    elmaj=v[1];
    maj=1;
    for(i=2;i<=n;i++)
    {
        if(v[i]==elmaj)
            maj++;
        else maj--;
        if(maj==0)
        {
            elmaj=v[i];
            maj=1;
        }

    }
    maj=0;
    for(i=1;i<=n;i++)
    {
        if(v[i]==elmaj)
            maj++;
    }
    if(maj>=n/2+1)
        out<<elmaj<<" "<<maj<<"\n";
    else
        out<<"-1\n";
    return 0;
}