Pagini recente » Cod sursa (job #2683299) | Cod sursa (job #3188164) | Cod sursa (job #597217) | Cod sursa (job #2411739) | 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;
}