Pagini recente » Cod sursa (job #164419) | Cod sursa (job #194904) | Cod sursa (job #2012523) | Cod sursa (job #194895) | Cod sursa (job #3326645)
#include <stdio.h>
#include <stdlib.h>
#define MAXV 1000000
int freq[MAXV + 1];
int v[1000005];
int main() {
FILE *fin, *fout;
int n, i, j, limit, candidat, aparitii, gasit, x, cnt;
fin = fopen("elmaj.in", "r");
fout = fopen("elmaj.out", "w");
fscanf(fin, "%d", &n);
for (i = 0; i < n; i++)
fscanf(fin, "%d", &v[i]);
limit = n / 2;
for (i = 0; i < limit; i++)
freq[v[i]]++;
candidat = -1;
aparitii = gasit = 0;
for (i = 0; i < limit && !gasit; i++) {
x = v[i];
if (freq[x] > 0) {
cnt = 0;
for (j = 0; j < n; j++)
if (v[j] == x)
cnt++;
if (cnt > n / 2) {
candidat = x;
aparitii = cnt;
gasit = 1;
}
freq[x] = 0;
}
}
if (!gasit)
fprintf(fout, "-1\n");
else
fprintf(fout, "%d %d\n", candidat, aparitii);
fclose(fin);
fclose(fout);
return 0;
}