Cod sursa(job #1915729)

Utilizator oana.durcauOana Durcau oana.durcau Data 8 martie 2017 22:17:10
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a,b,n,g,i,sum,gr;
struct rucs
{
    int greutate;
    int profit;
};
rucs r[5005];
int main()
{
    fin>>n>>g;
    for(i=1; i<=n; i++)
    {
        fin>>r[i].greutate>>r[i].profit;
    }
    for(i=1; i<n; i++)
        for(int j=i+1; j<=n; j++)
    {
        if(r[i].profit<r[j].profit)
        {
            swap(r[i].profit,r[j].profit);
            swap(r[i].greutate,r[j].greutate);
        }
        else
            if(r[i].profit==r[j].profit)
                if(r[i].greutate>r[j].greutate)
                {
            swap(r[i].profit,r[j].profit);
            swap(r[i].greutate,r[j].greutate);
                }
    }


    i=1; gr=0;
     while(gr<g)
     {
         sum=sum+r[i].profit;
         gr=gr+r[i].greutate;
         i++;
     }
     fout<<sum;
    return 0;
}