Pagini recente » Cod sursa (job #964680) | Cod sursa (job #2446146) | Cod sursa (job #2767582) | Cod sursa (job #1561665) | Cod sursa (job #1685292)
#include <iostream>
#include <fstream>
using namespace std;
struct nod
{
int numar, ap;
nod *urm;
};
nod *pr,*ul,*maxim;
void inserare (nod *&pr, nod*&ul, 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()
{ ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,i,x;
f>>n;
for (i=1;i<=n;i++)
{
f>>x;
inserare(pr,ul,x);
}
if ((maxim->ap)>n/2)
g<<maxim->numar<<" "<<maxim->ap;
else g<<-1;
f.close();
g.close();
return 0;
}