Mai intai trebuie sa te autentifici.
Cod sursa(job #2641307)
| Utilizator | Data | 10 august 2020 22:38:02 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <fstream>
#include <cstring>
using namespace std;
const int WMAX=5000;
int INF = 99999999;
int dp[2][1+WMAX];
int energie,pret;
int main()
{
int g,w,i,j,lin=1;
ifstream in("energii.in");
ofstream out("energii.out");
in>>g>>w;
for(i=1;i<=w;i++)
{
dp[lin][i]=INF;
dp[1-lin][i]=INF;
}
for(i=1;i<=g;i++,lin=1-lin)
{
in>>energie>>pret;
for(j=0;j<=w-energie;j++)
{
if(dp[lin][j]!=INF)
{
dp[1-lin][j+energie]=min(dp[lin][j+energie],dp[lin][j]+pret);
}
}
}
if(dp[lin][w]==INF)
{
out<<-1;
}
else
{
out<<dp[lin][w];
}
return 0;
}
