Mai intai trebuie sa te autentifici.
Cod sursa(job #3165068)
Utilizator | Cernaianu Alexandru AlexanderCerny | Data | 5 noiembrie 2023 13:09:13 |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("energii.in");
ofstream fout("energii.out");
int n,E,e,c,dp[5005];
int main()
{
fin>>n;
fin>>E;
for(int i=1;i<=E;i++)
dp[i]=INT_MAX;
for(int i=1;i<=n;i++)
{
fin>>e>>c;
for(int j=E;j>=0;j--)
if(dp[max(0, j-e)]!=INT_MAX)
dp[j]=min(dp[j], dp[max(0, j-e)]+c);
}
if(dp[E]==INT_MAX)
fout<<-1;
else
fout<<dp[E];
return 0;
}