Pagini recente » Cod sursa (job #2223911) | Cod sursa (job #1656863) | Cod sursa (job #2162851) | Cod sursa (job #2836157) | Cod sursa (job #1684959)
#include<iostream>
#include<fstream>
using namespace std;
struct nod
{
int numar, ap;
nod *urm;
};
nod *pr, *ul, *maxim;
void inserare(nod *dpr, nod *dul, int x)
{
if(pr == NULL)
{
pr = new nod;
pr -> numar = x;
pr -> ap = 1;
pr -> urm = NULL;
ul = pr;
maxim = pr;
}
else
{
nod *p = pr;
while(p && p -> numar != x)
p = p -> urm;
if(p)
{
p -> ap++;
if(p -> ap > maxim -> ap)
maxim = p;
}
else
{
p = new nod;
p -> numar = x;
p -> ap = 1;
p -> urm = NULL;
ul -> urm = p;
ul = p;
}
}
}
int main()
{
int n, i, x;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f >> n;
for(i = 0; i < n; i++)
{
f >> x;
inserare(pr, ul, x);
}
if(maxim ->ap > n/2)
g << maxim -> numar << " " << maxim -> ap;
else
g << -1;
return 0;
}