Cod sursa(job #1610083)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 23 februarie 2016 11:34:09
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

using namespace std;
int v[1000000];
int main()
{
    FILE *fin=fopen ("elmaj.in","r");
    FILE *fout=fopen ("elmaj.out","w");
    int n,elmaj,apar,i,x;
    fscanf (fin,"%d%d",&n,&elmaj);
    apar=1;
    v[0]=elmaj;
    for (i=1;i<n;i++){
        fscanf (fin,"%d",&x);
        if (x==elmaj) apar++;
        else apar--;
        if (apar==0){
            elmaj=x;
            apar=1;
        }
        v[i]=x;
    }
    apar=0;
    for (i=0;i<n;i++)
        if (v[i]==elmaj) apar++;
    if (apar>=n/2+1) fprintf (fout,"%d %d",elmaj,apar);
    else fprintf (fout,"-1");
    return 0;
}