Cod sursa(job #658059)

Utilizator RalleRaluca Ralle Data 7 ianuarie 2012 20:56:40
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<fstream>
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
using namespace std;

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

void quicks(int a[],int stg,int dr)
{int i=stg;
 int j=dr;
 int pivot=a[(i+j)/2];
 while(i<=j)
 {while(a[i]<pivot)i++;
  while(a[j]>pivot)j--;
  if(i<=j){int b=a[i];
           a[i]=a[j];
           a[j]=b;
           i++;
           j--;}
  }
  if(stg<j) quicks(a,stg,j);
  if(dr>i) quicks(a,i,dr);
}
int main()
{int k,n,a[100],i,nrap=0;
 in>>n;
 for(i=1;i<=n;i++)
 in>>a[i];
quicks(a,1,n);
for(i=1;i<=n;i++)
 if(a[i]==a[n/2]) nrap++;
if(nrap>=((n/2)+1)) out<<a[n/2]<<" "<<nrap;
            else out<<-1;
system ("pause");
 return 0;}