Pagini recente » Cod sursa (job #1673875) | Cod sursa (job #1869093) | Cod sursa (job #2145382) | Cod sursa (job #1217197) | Cod sursa (job #2910035)
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
struct obiect
{
int a;
int b;
};
bool comp (obiect h,obiect g)
{
if(h.a*h.b>g.a*g.b) return true;
return false;
}
int main()
{
ifstream reader("rucsac.in");
ofstream writer("rucsac.out");
int n,m;
reader>>n>>m;
obiect v[n];
for(int i=0;i<n;++i)
{
reader>>v[i].a>>v[i].b;
}
sort(v,v+n,comp);
int i=0;
int sum=0;
while(m-v[i].a>=0)
{
sum+=v[i].b;
m-=v[i].a;
i++;
}
writer<<sum;
return 0;
}