Pagini recente » Cod sursa (job #2659664) | Cod sursa (job #1095891) | Profil Rodik_Rody | Cod sursa (job #2845944) | Cod sursa (job #643742)
Cod sursa(job #643742)
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int N=1000001;
int maj(int n, int a[]) {
int cand = -1, k = 0;
for (int i = 0; i < n; i++) {
if (!k) {
cand = a[i];
k = 1;
}
else
if (a[i] == cand) {
k++;
}
else
k--;
}
if (cand < 0)
return cand;
int nr = 0;
for (int i = 0; i < n; i++) {
if (a[i] == cand)
nr++;
}
if (nr > n / 2)
return cand;
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);
in.close();
out.close();
return 0;
}