Cod sursa(job #658061)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 7 ianuarie 2012 20:57:20
Problema Elementul majoritar Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#define S 500000
using namespace std;
int main()
{
	ifstream in("elmaj.in");
	ofstream out("elmaj.out");
	int v[S],nr,elmaj,x;
	register int i;
	in>>x;
	for(i=1;i<=x;i++)
		in>>v[i];
	elmaj=v[1];nr=1;
	for(i=2;i<=x;i++){
		if(v[i]==elmaj) nr++;
		else nr--;
		if(nr==0){
			elmaj=v[i];
			nr=1;
		}
	}
	nr=0;
	for(i=1;i<=x;i++) if(v[i]==elmaj) nr++;
	if(nr<x/2+1) out<<"-1";
	else out<<elmaj<<" "<<nr;
	return 0;
}