Pagini recente » Cod sursa (job #581852) | Cod sursa (job #2027456) | Cod sursa (job #2033470) | Cod sursa (job #550976) | Cod sursa (job #2692823)
/// complexitate(n * log(n))
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int main(){
vector <int> v;
int elementsVector, number;
cin >> number;
bool found = false;
for(int i = 1; i <= number; ++i){
cin >> elementsVector;
v.push_back(elementsVector);
}
sort(v.begin(), v.end());
int countElementMajoritar = 0, elementMajoritar, maxCountElementMajoritar = 0, firstNumber = v[0];
for(auto it = v.begin(); it < v.end(); ++it){
if(firstNumber == *it){
countElementMajoritar++;
}
if(countElementMajoritar > maxCountElementMajoritar){
maxCountElementMajoritar = countElementMajoritar;
}
if(firstNumber != *it){
firstNumber = *it;
countElementMajoritar = 1;
}
if(maxCountElementMajoritar >= number / 2 + 1 && !found){
elementMajoritar = *it;
found = true;
}
}
if(elementMajoritar){
cout << elementMajoritar << " " << maxCountElementMajoritar;
}
else{
cout << -1;
}
return 0;
}