Pagini recente » Cod sursa (job #2842471) | Cod sursa (job #1723749) | Cod sursa (job #1122548) | Cod sursa (job #1615864) | Cod sursa (job #2509664)
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct items{
int greutate;
int profit;
}item[1000];
bool sorting( items a, items b){
return a.profit > b.profit;
}
int main(){
int i, j, n, g, sum1 = 0, sum2 = 0;
f>>n>>g;
for(i=1;i<=n;i++)
f>>item[i].greutate>>item[i].profit;
sort(item+1, item+n+1, sorting);
for(i=1;i<=n;i++){
if(sum1 < g){
sum1 = sum1 + item[i].greutate;
sum2 += item[i].profit;
}else
if(sum1 + item[i].greutate > g && sum1 < g){
sum1 = sum1 + g - item[i].greutate;
sum2 = sum2 + item[i].profit/(g - item[i].greutate);
}
}
g<<sum2;
//cout<<item[i].greutate<<" "<<item[i].profit<<endl;
}