Cod sursa(job #2331537)

Utilizator Username01Name Surname Username01 Data 29 ianuarie 2019 17:57:34
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

using namespace std;
FILE *f,*g;

int v[1000002];
int main()
{
    f=fopen("elmaj.in","r");
    g=fopen("elmaj.out","w");
    int n,val,ap=0;
    fscanf(f,"%d",&n);
    for(int i=1;i<=n;++i)
    {
        fscanf(f,"%d",&v[i]);
        if(ap==0)
            val=v[i],++ap;
        else
            if(val!=v[i])
                --ap;
            else
                ++ap;
    }
    ap=0;
    for(int i=1;i<=n;++i)
        if(val==v[i])
            ++ap;
    if(ap>n/2)
        fprintf(g,"%d %d",val,ap);
    else
        fprintf(g,"-1");
    fclose(f);
    fclose(g);
    return 0;
}