Cod sursa(job #1631972)

Utilizator andrei_udilaandrei udila andrei_udila Data 5 martie 2016 20:34:52
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <algorithm>
 
using namespace std;
ofstream fout("rucsac.out");
ifstream fin("rucsac.in");
 
struct obiect{
    int p;
    int c;
    double r;
}v[10000];
 
bool comp(obiect a, obiect b)
{
    return a.r>b.r;
}
 
double s;
int n,m,i;
 
int main()
{
    fin>>m>>n;
 
    for(i=1;i<=m;i++)
    {
        fin>>v[i].c>>v[i].p;
 
        v[i].r=(double)v[i].p/v[i].c;
    }
 
    sort(v+1,v+1+n,comp);
 
    for(i=1;;i++)
    {
        if(n>=v[i].c)
        {
            s+=v[i].p;
            n-=v[i].c;
        }
 
        else
        {
            //s+=v[i].r*n;
            break;
        }
    }
 
    fout<<(int)s;
 
    return 0;
}