Pagini recente » Cod sursa (job #2179452) | Cod sursa (job #2856905) | Cod sursa (job #2688338) | Cod sursa (job #1422481) | Cod sursa (job #2251405)
///SORTARE VECTOR + ELEMENTUL DIN MIJLOC - INEFICIENT
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n;
vector<int> elem;
void quick_sort(int a, int b)
{
if(a<b)
{
if(elem[(a+b)/2]>elem[b]) swap(elem[(a+b)/2], elem[b]);
int counter=a;
for(int i=a; i<b; i++)
{
if(elem[i]<elem[b]) swap(elem[counter++], elem[i]);
}
swap(elem[counter], elem[b]);
quick_sort(a, counter-1);
quick_sort(counter+1, b);
}
}
int main()
{
fin>>n;
for(int i=0; i<n; i++)
{
int x;
fin>>x;
elem.push_back(x);
}
quick_sort(0, n-1);
int candidat=elem[n/2];
int counter=0;
for(int i=0; i<elem.size(); i++)
{
if(elem[i]==candidat) counter++;
}
if(counter>n/2) fout<<candidat<<' '<<counter<<'\n';
else fout<<-1<<'\n';
return 0;
}