Cod sursa(job #2943865)

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