Cod sursa(job #1539790)
| Utilizator | Data | 1 decembrie 2015 16:33:37 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 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("rucsac.in");
ofstream g("rucsac.out");
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;
}
