Pagini recente » Cod sursa (job #440076) | Cod sursa (job #1720792) | Cod sursa (job #1291135) | Cod sursa (job #1409542) | Cod sursa (job #154431)
Cod sursa(job #154431)
#include<stdio.h>
#include<math.h>
FILE *f=fopen("energii.in","r");
FILE *fout=fopen("energii.out","w");
int g,w,e[1002],c[1002];
void cit()
{
fscanf(f,"%d%d",&g,&w);
for (register int i=1;i<=g;i++)
fscanf(f,"%d%d",&e[i],&c[i]);
}
void sort() {
int sw=0;
while(!sw)
{ sw=1;
for(register int i=1; i<g;i++)
if(c[i]-e[i]>c[i+1]-e[i+1])
{c[i]^=c[i+1];
c[i+1]^=c[i];
c[i]^=c[i+1];
e[i]^=e[i+1];
e[i+1]^=e[i];
e[i]^=e[i+1];
sw=0;
}
else if(c[i]-e[i]==c[i+1]-e[i+1])
if(e[i]<e[i+1])
{c[i]^=c[i+1];
c[i+1]^=c[i];
c[i]^=c[i+1];
e[i]^=e[i+1];
e[i+1]^=e[i];
e[i]^=e[i+1];
sw=0;
}
}
}
void solve()
{
int i=1;
long cost;
cost=0;
while(i<=g&&cost<=w)
{cost+=c[i];
i++;
}
if(cost>=w)
fprintf(fout,"%ld",cost);
else fprintf(fout,"-1");
}
int main()
{
cit();
sort();
solve();
return 0;
}