Pagini recente » Cod sursa (job #191128) | Cod sursa (job #1798183) | Cod sursa (job #659352) | Cod sursa (job #2326809) | Cod sursa (job #2417451)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const int mr=10000;
int G,W,d[mr+6];
void afiseaza(){
for (int i=1;i<=30;i++){
cout<<d[i]<<" ";
}cout<<endl;
}
void dinamica ()
{
int w,cost;
for(int i=1;i<=G;i++)
{
f>>w>>cost;
for(int j=mr-w+1;j>=1;j--){
if( ( (cost + d[j] <d[j + w] )||d[j + w]==0 )&&d[j]!=0)d[j + w]=d[j]+cost;
}
if( (cost <d[w] )||d[w]==0 )d[w]=cost;
}
}
void citire(){
f>>G >>W ;
}
int main()
{ citire();
dinamica();
int mi=-1;
for(int i=W;i<=mr;i++){
if(d[i]!=0){
if(mi==-1)mi=d[i];
else mi=min(mi,d[i]);
}
}
g<<mi;
return 0;
}