Cod sursa(job #662621)

Utilizator marinMari n marin Data 16 ianuarie 2012 20:59:04
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>
#define DIM 1000010

int V[DIM];
int N, i, x, nr, curr;


int main () {
	FILE *f = fopen("elmaj.in","r");
	FILE *g = fopen("elmaj.out","w");
	fscanf(f,"%d %d",&N,&V[1]);
	nr = 1;
	curr = V[1];
	for (i=2;i<=N;i++) {
		fscanf(f,"%d",&V[i]);
		if (V[i] == curr)
			nr++;
		else {
			nr--;
			if (nr == 0) {
				curr = V[i];
				nr = 1;
			}
		}
	}
	fclose(f);
	nr = 0;
	for (i=1;i<=N;i++)
		if (V[i] == curr)
			nr++;
	if (nr > N/2)
		fprintf(g,"%d %d\n",curr,nr);
	else
		fprintf(g,"-1\n");
	return 0;
}