Pagini recente » Cod sursa (job #968268) | Cod sursa (job #998577) | Cod sursa (job #498316) | Cod sursa (job #2501451) | Cod sursa (job #742583)
Cod sursa(job #742583)
#include <iostream>
#include <fstream>
using namespace std;
int u=0,v=0;
struct cell{
cell * dr;
cell * st;
int inf;
int co;
} *p=0;
void add(int k);
main(){
ifstream inr ("elmaj.in");
ofstream our ("elmaj.out");
int n,a;
inr >> n;
for(int i=1; i<=n; i++){
inr >> a;
add(a);
}
if(u<(1+n/2)){ our << "-1"; }
else { our << v << " " << u; }
}
void add(int k){
cell *r;
r=new cell;
r->co=1;
r->dr=r->st=0;
r->inf=k;
if(p==0){ p=r; return; }
cell * y, *x=p;
while(x!=0){
y=x;
if(k==x->inf){ x->co++;
if(x->co>u){ u=x->co; v=k; }
return; }
if(k>x->inf){ x=x->dr; }
else { x=x->st; }
}
if(k>y->inf){ y->dr=r; }
else { y->st=r; }
}