Cod sursa(job #2910035)

Utilizator Paul_DobrescuPaul Dobrescu Paul_Dobrescu Data 17 iunie 2022 18:30:54
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;

struct obiect
{
    int a;
    int b;
};

bool comp (obiect h,obiect g)
{
    if(h.a*h.b>g.a*g.b) return true;
    return false;
}

int main()
{
    ifstream reader("rucsac.in");
    ofstream writer("rucsac.out");
    int n,m;
    reader>>n>>m;
    obiect v[n];
    for(int i=0;i<n;++i)
    {
        reader>>v[i].a>>v[i].b;
    }
    sort(v,v+n,comp);
    int i=0;
    int sum=0;
    while(m-v[i].a>=0)
    {
        sum+=v[i].b;
        m-=v[i].a;
        i++;
    }
    writer<<sum;
    return 0;
}