Pagini recente » Cod sursa (job #1276741) | Cod sursa (job #1100034) | Cod sursa (job #1595752) | Cod sursa (job #1830925) | Cod sursa (job #673712)
Cod sursa(job #673712)
#include<fstream>
#define inf 12000
using namespace std;
#define lim 1002
#define lim2 10002
ifstream fin("energii.in");
ofstream fout("energii.out");
int cost[2][lim2],G,W,x;
struct generatoare{
int p,c;
}
v[lim];
void read(){
fin>>G>>W;
for(int i=1;i<=G;i++){
fin>>v[i].p>>v[i].c;
}
}
int min(int a,int b){
if(a<b)
return a;
return b;
}
void solve(){
x=0;
for(int i=1;i<=W;i++)
cost[0][i]=cost[1][i]=inf;
for(int i=1;i<=G;i++,x=1-x){
for(int g=1;g<=W;g++){
if(v[i].p<=g){
cost[1-x][g]=min(cost[x][g],cost[1-x][g-v[i].p]+v[i].c);
}
else
cost[1-x][g]=(cost[x][g],v[i].c);
}
}
}
void print(){
if(cost[x][W]!=-1)
fout<<cost[x][W];
else
fout<<"-1";
}
int main (){
read();
solve();
print();
return 0;
}