Pagini recente » Cod sursa (job #1726926) | Cod sursa (job #1954929) | Cod sursa (job #1050198) | Cod sursa (job #1602187) | Cod sursa (job #1798669)
#include<iostream>
#include<climits>
#include<algorithm>
using namespace std;
int s=0;
#define MAX 10001
struct obiect
{
double g,v,e;
}x[MAX],aux;
int compara(obiect a,obiect b)
{
return(a.e>b.e);
}
int main()
{
int i,n,gmax,l;
double castig=0;
cin>>n>>gmax;
for(i=1;i<=n;i++)
{
cin>>x[i].g>>x[i].v;
x[i].e=x[i].v/x[i].g;
}
sort(x+1,x+n+1,compara);
for(i=1;i<=n;i++)
{
if(s+x[i].g<=gmax)
{
castig+=x[i].v;
s+=x[i].g;
}
else
{
l=gmax-s;
castig+=l*x[i].e;
s+=l;
break;
}
}
cout<<castig;
return 0;
}