Cod sursa(job #2225165)
Utilizator | Data | 26 iulie 2018 10:56:05 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
int V[10001];
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
int maxim = 0,N,G,a,b;
f>>N>>G;
for(int i=1;i<=G;i++)
V[i]=10000000;
for(int i=0;i<N;i++)
{
f>>a>>b;
for(int j=G; j>=0; j--)
if(j<=a)
V[j]=min(V[j],b);
else
V[j]=min(V[j-a]+b,V[j]);
}
if(V[G]==10000000)
{
g<<"-1";
return 0;
}
g<<V[G];
return 0;
}