Cod sursa(job #2943863)

Utilizator BiancaMMIVMariciuc Bianca BiancaMMIV Data 21 noiembrie 2022 18:46:18
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#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;
}