Pagini recente » Cod sursa (job #1662457) | Cod sursa (job #573849) | Cod sursa (job #791864) | Cod sursa (job #1817640) | Cod sursa (job #237730)
Cod sursa(job #237730)
#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;
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;
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];
if (s>=w)
break;
}
if (s<w)
printf("-1");
else
printf("%d",cost);
return 0;
}