Pagini recente » Cod sursa (job #2132240) | Cod sursa (job #1738923) | Cod sursa (job #140346) | Cod sursa (job #663515) | Cod sursa (job #2943865)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, g, w, p;
vector< pair<int, int> > v;
int main(){
//ifstream f("file.in");
fin>>n>>g;
for(int i=1; i<=n; i++)
{
fin>>w>>p;
v.push_back(make_pair(p, w));
//cout<<v[i].first<<" "<<v[i].second<<endl;
}
sort(v.begin(), v.end());
int i = n-1;
int profit = 0, greutate = 0;
while(greutate <= g || i >= 0) {
greutate += v[i].second;
profit += v[i].first;
i--;
}
if(greutate > g)
fout<<profit - v[i+1].first;
else
fout<<profit;
return 0;
}