Cod sursa(job #1953058)
Utilizator | Data | 4 aprilie 2017 16:58:05 | |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
int n,s,a,b,i,j,dp[10010];
int main()
{
ifstream f ("energii.in");
ofstream g ("energii.out");
f>>n>>s;
for(i=1;i<=2*s;++i)dp[i]=10000010;
for(i=1; i<=n; ++i)
{
f>>a>>b;
for(j=s*2; j>=a; --j)
dp[j]=min(dp[j],dp[j-a]+b);
}
for(i=s; i<=s*2; --i)
if(dp[i]!=10000010)
{
g<<dp[i];
return 0;
}
g<<-1;
return 0;
}