Pagini recente » Cod sursa (job #298849) | Cod sursa (job #1564445) | Cod sursa (job #797008) | Cod sursa (job #207148) | Cod sursa (job #1278041)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("elmaj.in");
ofstream g ("elmaj.out");
void element_majoritar (int n, int a[]) {
int cand = -1, k = 0;
for (int i = 0; i < n; i++)
{
if (k == 0)
{
cand = a[i];
k = 1;
}
else
if (a[i] == cand)
{
k++;
}
else
k--;
}
//if (cand < 0)
// g << cand;
int nr = 0;
for (int i = 0; i < n; i++) {
if (a[i] == cand)
nr++;
}
if (nr > n / 2)
g << cand << " " << nr;
else
g << -1;
}
int main()
{
int x[2000000], n, j, i, k;
f >> n;
for (i = 0; i < n; i++)
f >> x[i];
element_majoritar (n, x);
return 0;
}