Cod sursa(job #2459169)

Utilizator eilerGabriel-Ciprian Stanciu eiler Data 22 septembrie 2019 11:29:02
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;

int n, v[1000000];

int main(){
	ifstream fin ("elmaj.in");
	fin >> n;
	for (int i=0; i<n; i++)
		fin >> v[i];
	fin.close();

	int el, ap;
	el=-1; ap=0;

	for (int i=0; i<n; i++){
		if (ap==0){
			el=v[i];
			ap=1;
		}
		else if (v[i]==el)
			ap++;
		else
			ap--;
	}

	ap=0;
	for (int i=0; i<n; i++)
		if (v[i]==el)
			ap++;

	if (ap<=n/2)
		el=-1;

	ofstream fout ("elmaj.out");
	fout << el;
	if (el!=-1)
		fout << ' ' << ap;
	fout.close();

	return 0;
}