Pagini recente » Cod sursa (job #761162) | Cod sursa (job #447243) | Cod sursa (job #598209) | Cod sursa (job #2965662) | Cod sursa (job #2239803)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in") ;
ofstream fout("energii.out") ;
int dp[5005][5005] ;
int e[1005] , c[1005] ;
int main()
{
int i , j , g , w , s = 0 ;
fin >> g >> w ;
for ( i = 1 ; i <= g ; i++ )
{
fin >> e[i] >> c[i] ;
s = s+e[i] ;
}
if ( s < w )
{
fout << "-1" ;
return 0 ;
}
for ( i = 1 ; i <= w ; i++ )
dp[0][i] = 0x3f3f3f3f ;
for ( i = 1 ; i <= g ; i++ )
{
for ( j = 1 ; j <= w ; j++ )
{
if ( j-e[i] >= 0 )
dp[i][j] = min(dp[i-1][j],dp[i-1][j-e[i]] + c[i]) ;
else
dp[i][j] = min(dp[i-1][j],c[i]) ;
}
}
fout << dp[g][w] ;
}