Pagini recente » Profil FeRiCiTu | Cod sursa (job #1447554) | Cod sursa (job #1130455) | Cod sursa (job #2124713) | Cod sursa (job #1403402)
#include <iostream>
#include <fstream>
#define INF 100000000
using namespace std;
ifstream f ("energii.in");
ofstream g ("energii.out");
int gen,w,i,j,x,y,Min,Max;
struct aaa
{
int c;
bool p;
}v[10000];
int main()
{
f>>gen>>w;
for (i=1;i<=gen;i++)
{
f>>x>>y;
for (j=w;j>=1;j--)
{
if (v[j].p==true)
{
if (v[j+x].p==false)
{
v[j+x].p=true;
v[j+x].c=v[j].c+y;
}
else if (v[j].c+y<v[j+x].c) v[j+x].c=v[j].c+y;
}
}
if (v[x].p==false)
{
v[x].p=true;
v[x].c=y;
}
else if (v[x].c>y) v[x].c=y;
if (x>Max) Max=x;
}
Min=INF;
for (i=w;i<=w+Max;i++)
if (Min>v[i].c&&v[i].p==true)
{
Min=v[i].c;
}
if (Min==INF)
{
g<<-1;
return 0;
}
g<<Min;
return 0;
}