Cod sursa(job #972697)

Utilizator WallFreeAlbu Mihai WallFree Data 12 iulie 2013 14:34:22
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
void sr (long v[],long n)
{
	long aux,i;
	int ord;
	do{ord=1;
	   for(i=1;i<n;i++) if(v[i]>v[i+1]) {aux=v[i];v[i]=v[i+1];v[i+1]=aux;ord=0;}
	}while(ord==0);
}
int main()
{
	int n,i,nrapmax=0,nrap,poz,k;
	f>>n;
	long v[n];
	for(i=1;i<=n;i++) f>>v[i];
	sr(v,n);
	i=1;
	while(i<n) {k=i;
				 while(v[i]==v[i+1]) i++;
				 nrap=1+i-k;
				 if(nrap>nrapmax) {nrapmax=nrap;poz=i;}
				 i++;}
	if(nrapmax>n/2) g<<v[poz]<<" "<<nrapmax;
				 else g<<"-1";
	return 0;
}