Pagini recente » Cod sursa (job #2327517) | Cod sursa (job #1535600) | Cod sursa (job #474104) | Cod sursa (job #1828939) | Cod sursa (job #423482)
Cod sursa(job #423482)
#include <fstream>
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct nod
{
unsigned int g,nr;
nod *next;
}nod;
ifstream f("gutui.in");
ofstream g("gutui.out");
nod *r;
unsigned int n,h,u,l,gr,m,nr;
void insert()
{
unsigned int i;
nod *p,*q,*e;
r=new nod;
r->next=0;
for(i=0;i<n;i++)
{
f>>l>>gr;
nr=(h-l)/u+1;
q=r;
p=r->next;
int ok=0;
while(p!=0)
{
if(p->nr>nr || (p->nr==nr && p->g<gr))
{
e=new nod;
e->nr=nr;
e->g=gr;
e->next=p;
q->next=e;
ok=1;
break;
}
q=p;
p=p->next;
}
if(!ok)
{
p=new nod;
p->nr=nr;
p->g=gr;
p->next=0;
q->next=p;
}
}
/*
p=r->next;
while(p!=0)
{
cout<<p->g<<" ";
p=p->next;
}
system("pause");*/
}
void parcurg()
{
nr=1;
nod *p=r->next;
while(p!=0)
{
if(p->nr>=nr)
{
m+=p->g;
nr++;
}
p=p->next;
}
g<<m<<endl;
}
int main()
{
int i,j;
f>>n;
f>>h>>u;
insert();
parcurg();
f.close();
g.close();
return 0;
}