Pagini recente » Cod sursa (job #1690499) | Cod sursa (job #1529868) | Cod sursa (job #1591290) | Cod sursa (job #2791617) | Cod sursa (job #1618952)
#include <fstream>
#include <algorithm>
using namespace std;
ofstream fout("rucsac.out");
ifstream fin("rucsac.in");
struct obiect{
int p;
int c;
double r;
}v[10000];
bool comp(obiect a, obiect b)
{
return a.r>b.r;
}
double s;
int n,m,i;
int main()
{
fin>>m>>n;
for(i=1;i<=m;i++)
{
fin>>v[i].c>>v[i].p;
v[i].r=(double)v[i].p/v[i].c;
}
sort(v+1,v+1+n,comp);
for(i=1;;i++)
{
if(n>=v[i].c)
{
s+=v[i].p;
n-=v[i].c;
}
else
{
//s+=v[i].r*n;
break;
}
}
fout<<(int)s;
return 0;
}