Pagini recente » Cod sursa (job #1171040) | Cod sursa (job #678437) | Cod sursa (job #444747) | Autentificare | Cod sursa (job #2943863)
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, g, w, p;
vector< pair<int, int> > v;
int main(){
//ifstream f("file.in");
f>>n>>g;
for(int i=1; i<=n; i++)
{
f>>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)
g<<profit - v[i+1].first;
else
g<<profit;
return 0;
}