Cod sursa(job #1281548)

Utilizator cipriancxFMI - gr143 Timofte Ciprian cipriancx Data 3 decembrie 2014 12:12:40
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;

int v[3000001],sol[3000001],n,dim=1;


int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
scanf("%d",&n);
 int i,aux;
 scanf("%d",&sol[1]);v[1]=1;
 int bun=1;
for( i=2; i<=n && bun; i++)
{
      scanf("%d",&aux);
      int j=1,x=0;
        for(j=1; j<=dim; j++)
      if(aux==sol[j]){v[j]++; x++;}
      if(!x){dim++; sol[dim]=aux; v[dim]=1; }
      if(dim>n/2){printf("-1"); bun=0;}
}
if(bun){
    int val;
   int maxim=0;
   int i;
   for(i=1; i<=dim; i++)if(v[i]>maxim){maxim=v[i]; val=sol[i];}
   if(maxim>= n/2+1)
   printf("%d %d",val,maxim);
   else printf("-1");

}
    return 0;
}