Cod sursa(job #958226)

Utilizator radu33Nesiu Radu radu33 Data 7 iunie 2013 11:43:33
Problema Elementul majoritar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

const int N=1000001;
 
int v[N],n;


int elmaj(int &poz)
{int i=0,j;
while (i <= n) 
    {
          int j = i;
          while (j <= n && v[j + 1] == v[i])
              j++;
          if (j-i+1 > n/2) 
              {poz=j-i+1;return v[i];}
          i = j + 1;
    }
    return -1;
}



int main()
{f>>n;
int i,j,aux,poz=0;
for(i=1;i<=n;++i){
        f>>v[i];
    }
for(i=1;i<=n;i++)
	for(j=i;j<=n;j++)
		if(v[j]<v[i])
		{aux=v[i];
		v[i]=v[j];
		v[j]=aux;}

		if( elmaj(poz) )
g<<elmaj(poz)<<" "<<poz;
else 
	g<<-1;

return 0;
}