Pagini recente » Cod sursa (job #2516371) | Cod sursa (job #578490) | Cod sursa (job #1422523) | Cod sursa (job #2385834) | Cod sursa (job #2516301)
#include <fstream>
#include <vector>
#include <set>
#define inf 0x7fffffff
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int dp[5005];
set<int> s;
int main()
{
ios_base::sync_with_stdio(false);
in.tie(0),out.tie(0);
int n,w,minim=0x7fffffff;
in>>n>>w;
for(int i=0;i<=w;++i)
dp[i]=inf;
dp[0]=0;
s.insert(0);
for(int i=1;i<=n;++i)
{
int e,c;
in>>e>>c;
//for(int j=w-1;j>=0;j--)
//if(dp[j]!=inf)
set<int>::iterator it=s.begin(),stop=s.end();
stop--;
while(it-1!=stop)
{
if(v[*stop]==0)
{
int j=*stop;
if(j+e<w)
dp[j+e]=min(dp[j+e],dp[j]+c),s.insert(j+e);
else if(j+e>=w)
minim=min(minim,dp[j]+c);
}
stop--;
}
}
out<<minim;
return 0;
}