Pagini recente » Cod sursa (job #1007906) | Cod sursa (job #2058558) | Cod sursa (job #1970766) | Cod sursa (job #3211085) | Cod sursa (job #1349820)
#include <cstdio>
#define DMAX 1000010
using namespace std;
int val[DMAX], n, sol, aparitii;
void citire();
void rez();
void afisare();
int main()
{
citire();
rez();
afisare();
return 0;
}
void citire()
{
int i;
FILE*fin=fopen ("elmaj.in", "r");
fscanf (fin, "%d", &n);
for (i=1; i<=n; ++i)
fscanf (fin, "%d", &val[i]);
fclose(fin);
return;
}
void rez()
{
int i, cand, k=0;
for (i=1; i<=n; ++i)
{
if (!k)
{
cand=val[i]; k=1;
}
else
if (val[i]==cand)
++k;
else
--k;
}
for (i=1; i<=n; ++i)
aparitii+=(val[i]==cand);
if (aparitii>=n/2+1)
sol=cand;
else
sol=-1;
return;
}
void afisare()
{
FILE*fout=fopen ("elmaj.out", "w");
fprintf (fout, "%d %d\n", sol, aparitii);
fclose(fout);
return;
}