Pagini recente » Cod sursa (job #2186549) | Cod sursa (job #2928749) | Cod sursa (job #1764591) | Cod sursa (job #1656353) | Cod sursa (job #484067)
Cod sursa(job #484067)
#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];
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 solve()
{
int s=-1,j,i,c[M*5],E,C;
for(i=0;i<=W;++i)
c[i]=-1;
c[0]=0;
for(i=1;i<=n;++i)
{
E=v[i].x;
C=v[i].y;
for(j=W-1;j>=0;--j)
if(c[j]>=0) if(j+E<W) {if((c[j+E]==-1) || (c[j]+C<c[j+E])) c[j+E]=c[j]+C;}
else if((s==-1) || (c[j]+C<s)) s=c[j]+C;
}
g<<s<<"\n";
g.close();
}
int main()
{
cit();
solve();
return 0;
}