Cod sursa(job #2708010)
Utilizator | Ancuta Rares rares8w | Data | 18 februarie 2021 09:41:07 |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream q("energii.out");
int i,j,w,g,cost,energie,v[5001];
int nr=500*1000;
int main()
{
f>>g>>w;
for(i=1;i<=w;i++)
v[i]=nr;
for( ; g; g--)
{
f>>energie>>cost;
for(i=w;i>energie;i--)
{
v[i]=min(v[i],v[i-energie]+cost);
}
for(j=1;j<=energie;j++)
v[j]=min(v[j],cost);
}
if(v[w]==nr)
q<<-1;
else
q<<v[w];
return 0;
}