Cod sursa(job #2047765)

Utilizator StanCatalinStanCatalin StanCatalin Data 25 octombrie 2017 11:24:43
Problema Elementul majoritar Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream in("elmaj.in");
    ofstream out("elmaj.out");
    int n,i,a[100],cnt,elem,k;
    in>>n;
    for(i=1;i<=n;i++)
        in>>a[i];
    elem=a[1];
    cnt=1;
    for(i=2;i<=n;i++)
    {
        if(a[i]==elem)
            cnt++;
        else cnt--;
        if(cnt<0)
        {
            elem=a[i];
            cnt=1;
        }
    }
    k=0;
    for(i=1;i<=n;i++)
        if(a[i]==elem)
        k++;
    if(k>n/2)
        out<<elem<<" "<<k;
    else out<<-1;
    in.close();
    return 0;
}