Cod sursa(job #547959)
Utilizator | Moraru Valentina valentina506 | Data | 6 martie 2011 21:01:53 |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<fstream>
using namespace std;
int n,gmax,k,c[1001],g[1001],cmax[301],s,i,j;
int main()
{
ifstream f("energii.in");
ofstream g1("energii.out");
f>>n>>gmax;
for(i=1;i<=n;i++)
{
f>>g[i];
f>>c[i];
}
for(i=1;i<=gmax;i++)
cmax[i]=100000;
for(s=1;s<=gmax;s++)
for(i=1;i<=n;i++)
if(g[i]<=s)
if(cmax[s]>cmax[s-g[i]]+c[i])
{
cmax[s]=cmax[s-g[i]]+c[i];
}
if(cmax[gmax]==-1)
g1<<"Imposibil";
else
g1<<cmax[gmax]<<"\n";
return 0;
}