Pagini recente » Cod sursa (job #3219843) | Cod sursa (job #1808976) | Cod sursa (job #961469) | Cod sursa (job #1108744) | Cod sursa (job #407366)
Cod sursa(job #407366)
#include<fstream>
#include<cstring>
using namespace std;
int w,ge;
int G[1002];
int E[1002];
int S[5002];
inline int Min( int a, int b ) { return ( a<b?a:b); }
int main(){
ifstream f("energii.in");
ofstream g("energii.out");
f>>ge>>w;
int i,j;
for(i=1;i<=ge;i++) f>>E[i]>>G[i];
for( i=1;i<=w;i++)S[i]=50000;
for(i=1;i<=ge;i++)
for(j=w;j>=0;j--)
if( S[j] != 50000 )
{
if( j + E[i] < w )
{
if( S[j+E[i]] > S[j] + G[i] ) S[j+E[i]] = S[j]+G[i];
}
else
{
if ( S[j] + G[i] < S[w] ) S[w] = S[j] + G[i];
}
}
g<<(S[w]==50000?-1:S[w]);
return 0;
}