Cod sursa(job #1539785)
Utilizator | Data | 1 decembrie 2015 16:31:18 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
struct segment2 {int g,pr;}v[100],aux;
int n,g,i,j,total,s;
int main()
{
ifstream f("date.in");
f>>n>>g;
for(i=1;i<=n;i++) f>>v[i].g>>v[i].pr;
for(i=1;i<n;i++)
if(v[i].pr/v[i].g<v[i+1].pr/v[i+1].g)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
}
total=0;
s=0;
for(i=1;i<=n;i++)
{
s=s+v[i].pr;
total=total+v[i].g;
if(total>g) break;
}
cout<<s<<endl;
return 0;
}