Cod sursa(job #997913)

Utilizator classiusCobuz Andrei classius Data 15 septembrie 2013 08:53:07
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int main()
{
    int n;
    int *v;

    f>>n;
    v=new int[n+1];

    int nr=0,x=-1;

    for(int i=1;i<=n;i++){
        f>>v[i];
        if(!nr){
            x=v[i];
            nr=1;
        }else if(x==v[i])
            nr++;
        else nr--;
    }

    if(nr<0)
        g<<-1;
    else{
        int s=0;
        for(int i=1;i<=n;i++)
            if(v[i]==x)
                s++;
        if(s>=n/2+1)
            g<<x<<" "<<s;
    }

    return 0;
}