Cod sursa(job #701617)

Utilizator Catah15Catalin Haidau Catah15 Data 1 martie 2012 16:49:45
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>

using namespace std;

#define maxN 1000010

int A[maxN], Val, Score, sol;

int main()
{
	ifstream f ("elmaj.in");
	ofstream g ("elmaj.out");
	
	int N;
	
	f >> N;
	
	for (int i = 1; i <= N; ++ i)
	{
		f >> A[i];
		
		if (A[i] != Val)
		{
			if (Score) -- Score;
			else Score = 1, Val = A[i];
		}
		else ++ Score;
	}
	
	for (int i = 1; i <= N; ++ i) if (A[i] == Val) ++ sol;
	
	if (sol >= N / 2 + 1) g << Val << " " << sol;
	else g << "-1";
	
	return 0;
}