Pagini recente » Cod sursa (job #178460) | Cod sursa (job #1623292) | Cod sursa (job #2836350) | Cod sursa (job #624370) | Cod sursa (job #2203213)
#include <iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int n ,gr,i,s,pr;
struct dat {int go;
int p;}v[5010];
bool cmp(dat c1 , dat c2){
if(c1.go<c2.go)return 1;
if ((c1.go==c2.go) &&(c1.p>c2.p))return 1;
return 0;
}
int main()
{f>>n>>gr;
for(i=1;i<=n;i++)f>>v[i].go>>v[i].p;
sort(v+1,v+n+1,cmp);
for(i=1;i<=n;i++)cout<<v[i].go<<" "<<v[i].p<<endl;
for (i=1;i<=n;i++) if(s+v[i].go<=gr) {s=s+v[i].go;pr=pr+v[i].p;cout<<s<<" "<<i<<endl;}else break ;
cout<<pr;
return 0;
}