Pagini recente » Cod sursa (job #444068) | Cod sursa (job #511228) | Cod sursa (job #2515832) | Cod sursa (job #1027504) | Cod sursa (job #1167684)
#include <cstdio>
using namespace std;
void mooreMajority(int n,int &nr,int &cand, int a[]) {
int k = 0;
for (int i = 0; i < n; i++) {
if (k == 0) {
cand = a[i];
k = 1;
} else if (a[i] == cand) {
k++;
} else
k--;
}
for (int i = 0; i < n; i++) {
if (a[i] == cand)
nr++;
}
}
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int n,i,nr=0,cand=-1;
scanf("%d",&n);
int v[n];
for(i=0;i<n;i++) scanf("%d",&v[i]);
mooreMajority(n,nr,cand,v);
printf("%d %d",cand,nr);
}