Cod sursa(job #2275180)

Utilizator arosearose red arose Data 2 noiembrie 2018 21:25:44
Problema Elementul majoritar Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

int main()
{
	FILE *fin = fopen("elmaj.in","rb");
	FILE *fout = fopen("elmaj.out","wb");
	
	int n;
	fscanf(fin,"%d",&n);

	int v[n];
	for (int i=0;i<n;i++)
	{
		fscanf(fin,"%d", &v[i]);
	}

	int elmaj = v[0];
	int occ = 1;
	for (int i=1;i<n;i++)
	{
		if (v[i]!=elmaj)
		{
			occ--;
			if (occ==0)
			{
				elmaj = v[i];
				occ = 1;
			}
		}
		else occ++;
	}
	int totalocc = 0;
	for (int i=0;i<n;i++)
	{
		if (v[i]==elmaj)
		{
			totalocc++;
		}
	}

	if (totalocc>=n/2+1)
		fprintf(fout,"%d %d\n", elmaj, totalocc);
	else
		fprintf(fout,"%d\n",-1);

	return 0;
}