Pagini recente » Cod sursa (job #1101047) | Cod sursa (job #1987112) | Cod sursa (job #2170090) | Cod sursa (job #1972561) | Cod sursa (job #2384238)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
typedef unsigned int uint;
int main(void)
{
FILE *in = fopen("elmaj.in", "r");
FILE *out = fopen("elmaj.out", "w");
if(in != NULL && out != NULL)
{
int n;
fscanf(in, "%d%*c", &n);
int *data = malloc(sizeof(int) * n);
if(data != NULL)
{
int last;
int count = 1;
fscanf(in, "%d%*c", &last);
int i = 1;
data[0] = last;
for(; i < n; i++)
{
int t;
fscanf(in, "%d%*c", &t);
data[i] = t;
if(count == 0)
{
last = t;
count = 1;
}
else
{
if(last != t)
{
count--;
}
else
{
count++;
}
}
}
int occ = 0;
i = 0;
for(; i < n; i++)
{
if(data[i] == last)
occ++;
}
if(occ >= (n / 2 + 1))
fprintf(out, "%d %d\n", last, occ);
else
fprintf(out, "-1");
free(data);
}
else
{
printf("Error\n");
}
fclose(in);
fclose(out);
}
else
{
printf("file error\n");
}
return 0;
}