Pagini recente » Cod sursa (job #488396) | Cod sursa (job #2304779) | Cod sursa (job #1404869) | Cod sursa (job #1355569) | Cod sursa (job #766994)
Cod sursa(job #766994)
#include<fstream>
#define inf 2000000000
using namespace std;
int n,s,sol[5002],C[1002],G[1002],i,j,minn,poz;
char uz[5003][1003];
int main()
{
ifstream f("energii.in");ofstream g("energii.out");
f>>n>>s;
for(i=1;i<=n;i++)
f>>G[i]>>C[i];
for(i=1;i<=s;i++)
{
minn=inf;
for(j=1;j<=n;j++)
if(G[j]<=i && sol[i-G[j]]+C[j]<minn && !uz[i-G[j]][j] && (sol[i-G[j]]!=0 || i==G[j]))
{
minn=sol[i-G[j]]+C[j];
poz=j;
}
sol[i]=minn;
uz[i][poz]='1';
}
if(sol[s]==inf)g<<"-1"; else
g<<sol[s]<<'\n';
f.close();g.close();
return 0;}