Cod sursa(job #2674013)

Utilizator cezarinfoTulceanu Cezar cezarinfo Data 18 noiembrie 2020 14:00:00
Problema Elementul majoritar Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include<cstdio>
using namespace std;
FILE*in=fopen("elmaj.in","r");
FILE*out=fopen("elmaj.out","w");
int n,i,v[1000004],elm=0,ct=1;
int main()
{
    fscanf(in,"%d",&n);
    for(i=1;i<=n;i++)
    {
        fscanf(in,"%d",&v[i]);
        if(v[i]==elm)
        {
            ct++;
        }
        else
        {
            ct--;
            if(ct==0)
            {
                elm=v[i];
                ct=1;
            }
        }
    }
    ct=0;
    for(i=1;i<=n;i++)
    {
        if(v[i]==elm)
        {
            ct++;
        }
        if(ct>=n/2+1)
        {
            fprintf(out,"%d %d",elm,ct);
            return 0;
        }
    }
    fprintf(out,"-1");
}