Pagini recente » Cod sursa (job #1938644) | Cod sursa (job #3041642) | Cod sursa (job #860223) | Cod sursa (job #3130237) | Cod sursa (job #1846359)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int w[5010],p[5010],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]);
else if (w[i]==w[j] && p[i]<p[j]) swap(w[i],w[j]),swap(p[i],p[j]);
}
int main()
{
f>>n>>gr;
for (i=1;i<=n;i++) f>>w[i]>>p[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;
}