Pagini recente » Cod sursa (job #1224711) | Cod sursa (job #2083402) | Cod sursa (job #552260) | Cod sursa (job #2677398) | Cod sursa (job #1915729)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a,b,n,g,i,sum,gr;
struct rucs
{
int greutate;
int profit;
};
rucs r[5005];
int main()
{
fin>>n>>g;
for(i=1; i<=n; i++)
{
fin>>r[i].greutate>>r[i].profit;
}
for(i=1; i<n; i++)
for(int j=i+1; j<=n; j++)
{
if(r[i].profit<r[j].profit)
{
swap(r[i].profit,r[j].profit);
swap(r[i].greutate,r[j].greutate);
}
else
if(r[i].profit==r[j].profit)
if(r[i].greutate>r[j].greutate)
{
swap(r[i].profit,r[j].profit);
swap(r[i].greutate,r[j].greutate);
}
}
i=1; gr=0;
while(gr<g)
{
sum=sum+r[i].profit;
gr=gr+r[i].greutate;
i++;
}
fout<<sum;
return 0;
}