Cod sursa(job #2509664)

Utilizator MedusaIova Alin - Petre Medusa Data 14 decembrie 2019 14:57:09
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#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;

}