Cod sursa(job #678605)

Utilizator batistaUPB-Oprea-Cosmin-Dumitru batista Data 11 februarie 2012 23:31:23
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>
using namespace std;
int n;
int v[1000002],i,maj,nr=0;
int main()
{
	ifstream f("elmaj.in");ofstream g("elmaj.out");
	f>>n;
	for(i=1;i<=n;i++)
      f>>v[i];
	maj=v[1];
	for(i=1;i<=n;i++)
	{
	  if(v[i]==maj)nr++; 
	   else 
	   {
		nr--; 
	    if(nr<=0 ){ maj=v[i]; nr=0; }
		}
	}
	nr=0;
	for(i=1;i<=n;i++)
	  if(v[i]==maj)nr++;
	if(nr>=n/2+1)g<<maj<<' '<<nr;
	  else g<<-1;
	f.close();g.close();
return 0;}