Pagini recente » Cod sursa (job #1637930) | Cod sursa (job #2515181) | Cod sursa (job #318494) | Cod sursa (job #2571157) | Cod sursa (job #1391141)
#include <iostream>
#include <fstream>
int* elemen_majoritar (int* v, int n) {
int num = v[0], contor = 1, c = 0;
int* a = new int[2];
for (int i = 1; i < n; ++i) {
if (v[i] == num) {
++contor;
} else {
--contor;
}
if (contor <= 0) {
num = v[i];
contor = 1;
}
}
for (int i = 0; i < n; ++i) {
if (v[i] == num) {
++c;
}
}
if (c >= n / 2) {
a[0] = num;
a[1] = c;
}
return a;
}
int main() {
std::ifstream in;
std::ofstream out;
int n;
int *sol = new int[2];
in.open ("elmaj.in");
out.open ("elmaj.out");
in >> n;
int *v = new int[n];
for (int i = 0; i < n; ++i) {
in >> v[i];
}
sol = elemen_majoritar (v, n);
delete[] v;
if (sol[0] != -1)
out << sol[0] << " " << sol[1];
else
out << -1;
in.close();
out.close();
return 0;
}