Pagini recente » Cod sursa (job #740416) | Cod sursa (job #3196878) | Cod sursa (job #3159201) | Cod sursa (job #597490) | Cod sursa (job #396465)
Cod sursa(job #396465)
#include<fstream>
using namespace std;
int n, gmin, g[1003], c[1003], uz[3000][1003], cmin[3000];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main()
{
int i, s, k;
fin >> n >> gmin;
for(i=1; i<=n; i++) fin >> g[i] >> c[i];
for(i=1; i<=gmin; i++) cmin[i] = -1;
for(s=1; s<=gmin; s++)
{ for(i=1; i<=n; i++)
if(g[i]<=s && cmin[s-g[i]]!=-1 && !uz[s-g[i]][i])
if(cmin[s]==-1 || cmin[s] > c[i] + cmin[s-g[i]])
{ cmin[s] = c[i] + cmin[s-g[i]];
for(k=1; k<=n; k++)
uz[s][k]=uz[s-g[i]][k];
uz[s][i]=1;
}
}
fout << cmin[gmin];
fin.close();
fout.close();
return 0;
}