Cod sursa(job #643757)
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int N=1000001;
int nr=0; //frecventa aparitiilor
int maj(int n, int a[], int &nr) {
int x = -1, k=0; //x este elem majoritar.
for (int i = 0; i < n; i++) {
if (!k) {
x = a[i];
k = 1;
}
else
if (a[i] == x)
k++;
else
k--;
}
if (x < 0)
return x;
for (int i = 0; i < n; i++) {
if (a[i] == x)
nr++;
}
if (nr > n / 2)
return x;
else
return -1;
}
int main(){
int i,n,v[100];
in>>n;
for(i=0;i<n;i++)
in>>v[i];
out<<maj(n,v,nr)<<" "<<nr;
in.close();
out.close();
return 0;
}