Cod sursa(job #1364903)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 27 februarie 2015 21:19:08
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#define Dudica "Dudescu Alexandru"
#include <cstdio>
#define nmax 1000005
using namespace std;
FILE *f1=fopen("elmaj.in","r"),*f2=fopen("elmaj.out","w");
int n,v[nmax];
int main()
{
    int i;
    fscanf(f1,"%d",&n);
    for(i=0;i<n;i++)
    {
        fscanf(f1,"%d",&v[i]);
    }
    int c,k=0,nr=0;
    for(i=0;i<n;i++)
    if(k==0){c=v[i];k++;}
    else if(c==v[i])k++;
    else k--;
    for(i=0;i<=n;i++)
    if(v[i]==c)nr++;
    if(nr>n/2)fprintf(f2,"%d %d",c,nr);
    else fprintf(f2,"-1");
    fclose(f1);
    fclose(f2);
    return 0;
}

//Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.