Pagini recente » Istoria paginii utilizator/anamarias12 | Cod sursa (job #2010649) | Cod sursa (job #2017391) | Cod sursa (job #1921285) | Cod sursa (job #484047)
Cod sursa(job #484047)
#include<fstream>
#define M 1005
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
typedef struct
{
int x,y;
float c;
}Energii;
Energii v[M],aux;
int n,W;
void cit()
{
int i;
f>>n>>W;
for(i=1;i<=n;++i)
{
f>>v[i].x>>v[i].y;
v[i].c=v[i].y/(float)v[i].x;
}
f.close();
}
void sort()
{
int i,ok;
do
{
ok=1;
for(i=1;i<=n-1;++i)
if(v[i].c>v[i+1].c) {aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=0;}
}
while(ok==0);
}
void solve()
{
long s=0,c=0,i=1;
while(s<W && i<=n)
{
s+=v[i].x;
c+=v[i].y;
++i;
}
if(s<W) g<<"-1\n";
else g<<c<<"\n";
g.close();
}
int main()
{
cit();
sort();
solve();
return 0;
}