Cod sursa(job #928128)
| Utilizator | Data | 26 martie 2013 11:43:03 | |
|---|---|---|---|
| Problema | Energii | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int v[10000005];
int main()
{
long long g,w,eg,i,cons,sum=0,j,min=999999999;
in>>g>>w;
for(i=1;i<=g;i++)
{
in>>eg>>cons;
sum+=eg;
for(j=sum-eg;j>0;j--)
{
if(v[j]!=0 && (v[j+eg]>v[j]+cons || v[j+eg]==0))
v[j+eg]=v[j]+cons;
}
if(v[eg]>cons || v[eg]==0)
v[eg]=cons;
}
for(i=w;i<=sum;i++)
{
if(v[i]<min && v[i]!=0)
min=v[i];
// out<<v[i]<<"\n";
}
out<<min;
return 0;
}
