Pagini recente » Cod sursa (job #2958758) | Cod sursa (job #2603508) | Cod sursa (job #2515128) | Cod sursa (job #306962) | Cod sursa (job #3205254)
#include <fstream>
using namespace std;
int a[100000];
int realCount = 0;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int maj(int n, int a[]) {
int candidate = -1;
int count = 0;
for (int i = 0; i < n; i++) {
if (count == 0) {
candidate = a[i];
count = 1;
}else if (a[i] == candidate) {
count++;
}else{
count--;
}
}
for (int i = 0; i < n; i++) {
if (a[i] == candidate)
realCount++;
}
if (realCount > n / 2)
return candidate;
else
return -1;
}
int main()
{
int n;
cin>>n;
for (int i = 0; i < n; i++) {
cin>>a[i];
}
if(maj(n,a)!=-1)cout<<maj(n,a)<<" "<<realCount/2;
else cout<<-1;
return 0;
}