Cod sursa(job #1439262)

Utilizator MarianMMorosac George Marian MarianM Data 21 mai 2015 22:40:26
Problema Elementul majoritar Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <vector>
#include <list>
#include <set>
#include <iterator>
#include <queue>
#include <utility>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;

#define DMAX 1025
#define MOD 1999999973
#define ll long long
#define ull unsigned long long

int N;
vector<int> A;

int main(){
	int i, j;

	freopen("elmaj.in", "r", stdin);
	freopen("elmaj.out", "w", stdout);
	/*freopen("test.in", "r", stdin);	
	freopen("test.out", "w", stdout);*/

	cin >> N;
	for (i = 0; i < N; i++){
		scanf("%d", &j);
		A.push_back(j);
	}

	int elmaj = A[0], apElmaj = 1;

	for (i = 1; i < N; i++){
		if (A[i] != elmaj) apElmaj--;
		if (apElmaj == 0){
			elmaj = A[i];
			apElmaj++;
		}
	}

	apElmaj = 0;
	for (i = 1; i < N; i++)		if (A[i] == elmaj)	apElmaj++; 

	if (apElmaj >= N / 2 + 1)	cout << elmaj << ' ' << apElmaj;
	else						cout << -1;

	return 0;
}