Pagini recente » Cod sursa (job #273088) | Cod sursa (job #1102827) | Cod sursa (job #2102329) | Cod sursa (job #275915) | Cod sursa (job #3160229)
#include <fstream>
#include<iostream>
using namespace std;
ifstream g ("rucsac.in");
ofstream f ("rucsac.out");
int max=0;
int s=0,s1=0;
int n,G;
struct rucsac{
int g;
int p;}v[1000];
struct rez{
int g1;
int p1;
int d;}x[1000];
int afisare()
{
for(int i=n;i>0;i--)
{
s=x[i].g1+s;
if (s<=G) s1=x[i].p1+s1;
}
f<<s1;
}
int main()
{g>>n>>G;
if(n==0 || G==0) f<<0;
else
{
for(int i=1;i<=n;i++)
{
cin>>v[i].g>>v[i].p;
x[i].d=v[i].p-v[i].g;
x[i].p1=v[i].p;
x[i].g1=v[i].g; }
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
if(x[i].d>x[j].d)
{
swap(x[i],x[j]);
}
}
}
for(int i=1;i<=n-1;i++)
{
if(x[i].d==x[i-1].d)
{
if(x[i].p1<x[i-1].p1) swap(x[i],x[i-1]);
}
}
} afisare();
return 0;
}