Cod sursa(job #2672187)
| Utilizator | Data | 13 noiembrie 2020 13:06:11 | |
|---|---|---|---|
| Problema | Energii | Scor | 35 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int nmax=1001;
int a[nmax+5][10006],n,g,cost=10005;
int main()
{
int i,x,y,j;
fin>>n>>g;
for(i=1;i<=n;i++)
{
fin>>x>>y;
//a[i][y]=max(a[i-1][y],a[i-1][])
for(j=1;j<=10002;j++)
{
if(j>=y) a[i][j]=max(a[i-1][j],a[i-1][j-y]+x);
else a[i][j]=a[i-1][j];
if(a[i][j]>=g && j<cost)
{
cost=j;
}
}
}
fout<<cost;
return 0;
}
