Cod sursa(job #1099603)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 5 februarie 2014 23:16:10
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<stdio.h>
#include<algorithm>
#include<vector>
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
	vector<int> v;
	int N, x, startIndex, count;

	//freopen("elmaj.in", "r", stdin);
	//freopen("elmaj.out", "w", stdout);
	ifstream in("elmaj.in");
	ofstream out("elmaj.out");

	//scanf("%d", &N);
	in >> N;
	for(int i = 0; i < N; ++i)
	{
		//scanf("%d", &x);
		in >> x;
		v.push_back(x);
	}

	sort(v.begin(), v.end());

	int length = v.size();

	for(int i = 0; i < length; ++i)
	{
		startIndex = i;
		while(v[i] == v[i+1] && i < length-1)
			i++;
		count = i - startIndex + 1;
		if(count > v.size()/2)
		{
			//printf("%d %d\n", v[startIndex], count);
			out << v[startIndex] << " " << count;
			return 0;
		}
	}

	//printf("-1\n");
	out << "-1" << endl;
	return 0;
}