Pagini recente » Cod sursa (job #2802832) | Cod sursa (job #771039) | Cod sursa (job #2172580) | Cod sursa (job #2768374) | Cod sursa (job #2861503)
#include <bits/stdc++.h>
#define MAX_N 1000005
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int arr[MAX_N];
int elmaj(int n, int arr[], int &ap) {
int cand = -1, k = 0;
for (int i = 0; i < n; i++) {
if (k == 0) {
cand = arr[i];
k = 1;
} else if (cand == arr[i]) {
k++;
} else {
k--;
}
}
if (cand == -1)
return cand;
ap = 0;
for (int i = 0; i < n; i++)
if (arr[i] == cand)
ap++;
if (ap >= n / 2 + 1)
return cand;
else
return -1;
}
void citire(int &n, int arr[]) {
fin >> n;
for (int i = 0; i < n; i++)
fin >> arr[i];
}
int main()
{
int n, ap;
citire(n, arr);
int cand = elmaj(n, arr, ap);
if (cand != -1)
fout << cand << ' ' << ap;
else
fout << -1;
return 0;
}