Pagini recente » Cod sursa (job #2188017) | Cod sursa (job #400954) | Cod sursa (job #2891759) | Cod sursa (job #1603104) | Cod sursa (job #2907608)
#include<bits/stdc++.h>
using namespace std;
struct rucsac{
double valoare;
double unitate;
double greutate;
}s[1010];int n,Gmax;
int g;
double val;
bool sortare(rucsac a,rucsac b)
{
return(a.unitate>b.unitate);
}
int ok=1;
void solve()
{
for(int i=1;i<=n && ok;i++)
{
if(Gmax-g>=s[i].greutate)
{
val+=s[i].valoare;
g+=s[i].greutate;
}
else
{
val+=(s[i].unitate*(Gmax-g));
ok=0;
}
}
cout<<val;
}
int main()
{
cin>>n>>Gmax;
for(int i=1;i<=n;i++)
{
cin>>s[i].greutate>>s[i].valoare;
s[i].unitate=s[i].valoare/s[i].greutate;
}
sort(s+1,s+n+1,sortare);
solve();
}