Pagini recente » Cod sursa (job #1584318) | Cod sursa (job #2169133) | Cod sursa (job #2288108) | blaturi | Cod sursa (job #1902972)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("energii.in");
ofstream fout("energii.out");
struct energie{
int cant,cost;
}a[10001];
int n,i,j,g,w,s,m,stot;
bool cmp(energie a, energie b)
{
if(a.cant!=b.cant)
return a.cant<b.cant;
else
return a.cost<b.cost;
}
int main()
{
f>>g>>w;
for(i=1;i<=g;i++)
{f>>a[i].cant>>a[i].cost;
stot+=a[i].cant;
}
if(stot<w)
fout<<"-1";
else
{
m=g;
sort(a+1,a+g+1,cmp);
while(a[g].cant<=w)
{ w-=a[g].cant;
g--;
}
if(w==0)
{
for(i=g+1;i<=m;i++)
s+=a[i].cost;
fout<<s;
}
}
return 0;
}