Pagini recente » Cod sursa (job #1142361) | Cod sursa (job #369349) | Cod sursa (job #2712476) | Cod sursa (job #2607700) | Cod sursa (job #406847)
Cod sursa(job #406847)
#include<stdio.h>
using namespace std;
int c[10001],e[10001];
/*void quick(int st,int dr)
{
int m,i,j,aux;
m=(st+dr)/2;
i=st; j=dr;
while (e[i]>e[m])
i++;
while (e[m]>e[j])
j--;
if (i<=j && e[i]==e[j] && c[i]>c[j])
{
aux=c[i];
c[i]=c[j];
c[j]=aux;
i++;
j--;
}
else if (i<=j)
{
aux=e[i];
e[i]=e[j];
e[j]=aux;
aux=c[i];
c[i]=c[j];
c[j]=aux;
i++;
j--;
}
if (st<j)
quick(st,j);
if (i<dr)
quick(i,dr);
}*/
int main ()
{
int i,w,n,aux,j,tot,cost;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d",&n,&w);
for (i=1; i<=n; i++)
scanf("%d %d",&e[i],&c[i]);
//quick(1,n);
for (i=1; i<n; i++)
for (j=i+1; j<=n; j++)
if (e[i]<e[j])
{
aux=e[i];
e[i]=e[j];
e[j]=aux;
aux=c[i];
c[i]=c[j];
c[j]=aux;
}
else if (e[i]==e[j] && c[i]>c[j])
{
aux=c[i];
c[i]=c[j];
c[j]=aux;
}
tot=0; cost=0; i=0;
while (tot<w)
{
i++;
cost+=c[i];
tot+=e[i];
}
printf("%d",cost);
return 0;
}