Cod sursa(job #2704416)
Utilizator | Data | 10 februarie 2021 15:56:36 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int d[5002],g,n,i,j,s,en,cost;
int main()
{
s=0;
fin>>n>>g;
for(i=1;i<=g;i++)
d[i]=2e9;
for(i=1;i<=n;i++)
{
fin>>en>>cost;
s+=en;
for(j=g;j>en;j--)
d[j]=min(d[j],d[j-en]+cost);
for(j=1;j<=en;j++)
d[j]=min(d[j],cost);
}
if(s<g)
fout<<"-1";
else fout<<d[g];
}