Cod sursa(job #1933195)

Utilizator bogdangvrBogdan Gavril bogdangvr Data 20 martie 2017 15:45:50
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout("rucsac.out");
int n,G,profit;
struct obiect{
    int g;
    int p;
};
obiect v[5002],aux;
int main () {
    fin>>n>>G;
    for (int i=1;i<=n;i++){
        fin>>v[i].g>>v[i].p;
    }
    for (int i=1;i<n;i++){
        for (int j=1+i;j<=n;j++){
            if (v[i].p>v[j].p){
                aux=v[i];
                v[i]=v[j];
                v[j]=aux;
            }
        }
    }
    for (int i=n;i>=1;i--){
        if (G-v[i].g>=0){
            profit+=v[i].p;
            G-=v[i].g;
        }
        else{
            break;
        }
    }
    fout<<profit;
    return 0;
}