Cod sursa(job #1387537)

Utilizator mihaidanielmihai daniel mihaidaniel Data 14 martie 2015 13:28:31
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>

using namespace std;
int v[1000001];
ifstream in ("elmaj.in");
ofstream out ("elmaj.out");

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