Cod sursa(job #1787677)

Utilizator Costel_DraghiciDraghici Constantin Costel_Draghici Data 24 octombrie 2016 21:39:13
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#define Nmax 1000000

using namespace std;
 int a[Nmax];
 ifstream f("elmaj.in");
 ofstream g("elmaj.out");
 int MoreMajority(int n,int a[])
{
    int cand=-1,k=0;
    for(int i=1;i<=n;i++)
    {
        if(k==0)
            cand=a[i],k=1;
        else
            if(a[i]==cand)
               k++;
            else
               k--;
    }

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

int main()
{
    int n;
    f>>n;
    for(int i=1;i<=n;i++)
        f>>a[i];
    MoreMajority(n,a);
}