Cod sursa(job #218281)

Utilizator allynaAlina S allyna Data 1 noiembrie 2008 13:45:43
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream.h>
#include<iostream.h>
using namespace std;
int min(int a,int b)
{if(a<b) return a;
else
    return b;
}

int g,w,e[1000],c[1000];
int cost[15001];
int main(){
  int i,mini,j;
  ifstream in("energii.in");
  ofstream out("energii.out");
  in>>g>>w;
  for(i=0;i<g;i++)
    in>>e[i]>>c[i];
  in.close();
  for(i=1;i<10000;i++)
    cost[i]=999999;
  mini=999999;
  for(i=0;i<g;i++)
    for(j=15000;j>=e[i];j--){
        cost[j]=min(cost[j-e[i]]+c[i],cost[j]);
        if(j>=w)
          mini=min(cost[j],mini);
     }
 
  if(mini==999999)  out<<"-1"<<endl;
  else out<<mini<<endl;
  out.close();
  return 0;
}