Pagini recente » Cod sursa (job #3266488) | Cod sursa (job #125373) | Cod sursa (job #1105675) | Cod sursa (job #216266) | Cod sursa (job #1391100)
#include <iostream>
#include <fstream>
int elemen_majoritar (int* v) {
int n = sizeof (v) / sizeof (v[0]), num = v[0], contor = 1, c = 0;
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) {
return c;
}
return -1;
}
int main() {
std::ifstream in;
std::ofstream out;
int n, sol;
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);
delete[] v;
return sol;
}