Pagini recente » Cod sursa (job #2367206) | Cod sursa (job #2414579) | Cod sursa (job #2110201) | Cod sursa (job #3166663) | Cod sursa (job #1303273)
#include <stdio.h>
#include <stdlib.h>
void element_majoritar (int n, int a[]) {
int cand = -1, k = 0, i;
FILE *g = fopen ("elmaj.out","w");
for (i = 0; i < n; i++)
{
if (k == 0)
{
cand = a[i];
k = 1;
}
else
if (a[i] == cand)
{
k++;
}
else
k--;
}
int nr = 0;
for (i = 0; i < n; i++) {
if (a[i] == cand)
nr++;
}
if (nr > n / 2)
fprintf(g,"%d %d",cand, nr);
else
fprintf(g,-1);
}
int main()
{
int *x, n, i;
FILE *f = fopen ("elmaj.in","r");
fscanf(f,"%d",&n);
x = (int*)calloc(n,sizeof(int));
for (i = 0; i < n; i++)
fscanf("%d",&x[i]);
fclose(f);
element_majoritar (n, x);
free(x);
return 0;
}