Pagini recente » Cod sursa (job #1507674) | Cod sursa (job #674436) | Cod sursa (job #1495860) | Cod sursa (job #324268) | Cod sursa (job #675717)
Cod sursa(job #675717)
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n, nr, maj, a[1000010];
void majoritar()
{
int i;
nr = 1;
maj = a[0];
for (i=1; i<n; i++)
if (a[i]==maj) nr++; else {
nr--;
if (nr<0) {
nr = 1;
maj = a[i];
}
}
nr = 0;
for (i=0; i<n; i++)
if (a[i]==maj) nr++;
if (nr<n/2+1) nr = -1;
}
int main()
{
int i;
f >> n;
for (i=0; i<n; i++) f >> a[i];
majoritar();
if (nr>0) g << maj << ' ' << nr; else g << -1;
return 0;
}