Cod sursa(job #822661)

Utilizator ahmed.abdraboahmed.abdrabo ahmed.abdrabo Data 23 noiembrie 2012 21:15:33
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <algorithm>
#include <fstream>
#include <iostream>

using namespace std;

int N, A[1000000];

int main() {
	ifstream cin("elmaj.in");
	ofstream cout("elmaj.out");
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin >> A[i];
	}
	sort(A, A + N);
	int index = 0;
	int cnt = 1;
	int best_c = 1;
	int best_i = 0;
	for (int i = 1; i < N; i++) {
		if (A[index] == A[i]) {
			cnt++;
			if (cnt > best_c) {
				best_c = cnt;
				best_i = i;
			}
		} else {
			cnt = 1;
			index = i;
		}
	}
	if (best_c > N / 2) {
		cout << A[best_i] << " " << best_c;
	} else {
		cout << -1;
	}
	return 0;
}