Pagini recente » Cod sursa (job #3249990) | Cod sursa (job #867971) | Cod sursa (job #2775646) | Cod sursa (job #3290459) | Cod sursa (job #570095)
Cod sursa(job #570095)
#include<iostream>
#include<conio.h>
using namespace std;
struct vai
{
long long int niv,gr;
};
int comp(const void* x,const void* y)
{
vai t=*((vai*)x);
vai r=*((vai*)y);
if(r.niv==t.niv)
return r.gr-t.gr;
else
return t.niv-r.niv;
}
int main()
{
long long int s,a[10000],h,u,j,i,n,b,min,y=0,q;
vai *v=new vai [10000];
FILE *f=fopen("gutui.in","rt");
fscanf(f,"%lli%lli%lli",&n,&h,&u);
for(i=0;i<n;i++)
{
fscanf(f,"%lli%lli",&q,&b);
v[i].niv=(h-q)/u;
v[i].gr=b;
}
fclose(f);
qsort(v,n,sizeof(vai),comp);
h=0;
for(i=0;i<n;i++)
{
if(v[i].niv<=h)
{
a[h]=v[i].gr;
h++;
}
else
{
min=a[0];
for(j=0;j<h;j++)
if(a[j]<min) {min=a[j]; y=j;}
if(v[i].gr>min) a[y]=v[i].gr;
}
}
s=0;
for(i=0;i<h;i++)
s+=a[i];
FILE *g=fopen("gutui.out","wt");
fprintf(g,"%lli",s);
fclose(g);
return 0;
}