Pagini recente » Cod sursa (job #719948) | Cod sursa (job #1552641) | Cod sursa (job #2837680) | Cod sursa (job #138547) | Cod sursa (job #1737966)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,i,p,maxa,k,j;
struct rucsac
{
int gr,pr;
float val;
}v[5003];
void read()
{
f>>n>>maxa;
for(i=1;i<=n;i++)
{
f>>v[i].gr>>v[i].pr;
v[i].val=(float)v[i].pr/v[i].gr;
}
}
void sort()
{
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i].val<v[j].val) swap(v[i],v[j]);
}
void solve()
{
i=1;
while(maxa-v[i].gr>=0 and i<=n)
{
maxa-=v[i].gr;
p+=v[i].pr;
i++;
}
g<<p;
}
int main()
{
read();
sort();
solve();
return 0;
}