Cod sursa(job #958228)

Utilizator radu33Nesiu Radu radu33 Data 7 iunie 2013 11:47:14
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,val;


int elmaj(int &poz)
{int i=0,j;
while (i <= n) 
    {j=i;
          while (j <= n && v[j + 1] == v[i])
              j++;
          if (j-i+1 > n/2) 
              {poz=j-i+1;val=v[i];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)!=-1 )
g<<val<<" "<<poz;
else 
	g<<-1;

return 0;
}