Cod sursa(job #1750098)

Utilizator IaroslavIaroslav Mazur Iaroslav Data 29 august 2016 16:42:37
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
//#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

int elements[1000001];

int main()
{
	int n;
	ifstream in("elmaj.in");
	ofstream out("elmaj.out");
	in >> n;
	for (int i = 0; i <= n - 1; i++)
		in >> elements[i];

	int element = -1, counter = 0;
	for (int i = 0; i <= n - 1; i++)
	{
		if (counter == 0)
		{
			element = elements[i];
			counter = 1;
		}
		else if (element == elements[i])
				counter++;
		else
			counter--;
	}
	//verification
	if (element < 0)
		out << -1;
	if (counter > 0)
	{
		int criteria = n / 2, count = 0;
		for (int i = 0; i <= n - 1; i++)
		{
			if (element == elements[i])
			{
				count++;
				/*if (count > criteria)
				{
					out << element << " " << count;
					break;
				}*/
			}
		}
		if (count > criteria)
		out << element << " " << count;
	}
	else out << -1;
    return 0;
}