Pagini recente » Cod sursa (job #1264209) | Cod sursa (job #1719513) | Cod sursa (job #2777796) | Cod sursa (job #1893499) | Cod sursa (job #1846357)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int w[100],p[100],ob[100],i,j,n,gr,gc,s;
void ord()
{
int i,j;
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++) if (w[i]<w[j]) swap(w[i],w[j]),swap(p[i],p[j]),swap(ob[i],ob[j]);
else if (w[i]==w[j] && p[i]<p[j]) swap(w[i],w[j]),swap(p[i],p[j]),swap(ob[i],ob[j]);
}
int main()
{
f>>n>>gr;
for (i=1;i<=n;i++) f>>w[i]>>p[i],ob[i]=i;
ord();
gc=0; s=0;
for (i=1;i<=n;i++) if (gc+w[i]<=gr) s+=p[i],gc+=w[i];
g<<s;
return 0;
}