Pagini recente » Cod sursa (job #750171) | Cod sursa (job #2199877) | Cod sursa (job #2902030) | Cod sursa (job #1635152) | Cod sursa (job #237732)
Cod sursa(job #237732)
#include <stdio.h>
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int g,w,a[1001],b[1001],i,sch,inter,inter2,s=0,cost=0,min,nimic,j,fata,sch2;
scanf("%d%d",&g,&w);
for (i=1; i<=g; i++)
scanf("%d%d",&a[i],&b[i]);
do
{
sch=0;
for (i=1; i<=g-1; i++)
if (a[i]>a[i+1])
{
inter=a[i];
inter2=b[i];
a[i]=a[i+1];
a[i+1]=inter;
b[i]=b[i+1];
b[i+1]=inter2;
sch=1;
}
}
while(sch);
for (i=g; i>=1; i--)
{
min=0;
fata=0;
sch2=0;
for (j=i-1; j>=1; j--)
if (a[i]==a[j])
if (b[i]>b[j])
{
min=j;
fata=1;
}
else
nimic=0;
else
break;
s+=a[i];
if (fata==0)
cost+=b[i];
else
{
cost+=b[min];
sch2=b[i];
b[i]=b[min];
b[min]=sch2;
}
if (s>=w)
break;
}
if (s<w)
printf("-1");
else
printf("%d",cost);
return 0;
}