Cod sursa(job #1060505)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 18 decembrie 2013 01:07:21
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.74 kb
#include<fstream>
#define dim 1000002
using namespace std;
 
ifstream f("elmaj.in");
ofstream g("elmaj.out");
 
long long  v[dim],k,cand,i,j,ap,n;
 
int main (){
    f>>n;
     
     
    for(i=1; i<=n;i++)
        f>>v[i];
     
    k=0;
    cand =-1;
    for(i=1;i<=n;i++){
         
        if(k==0)
            cand=v[i],k=1;
        else
            if(cand==v[i])
                k++;
            else
                k--;
         
         
    }
 
    if(cand<0)
        return cand;
    else{
        for(i=1;i<=n;i++)
             
            if(v[i]==cand)
                ap++;
         
        if(ap>=n/2+1)
            g<<cand<<" "<<ap<<"\n";
        else
            g<<-1;
    }
    return 0;
}