Pagini recente » Cod sursa (job #93925) | Cod sursa (job #2246140) | Cod sursa (job #1710536) | Cod sursa (job #1184324) | Cod sursa (job #1146156)
#include<fstream>
using namespace std;
int tot, x[1003], xe, xc, s, m[100003], sol, nr, x2[100003], n, n2, i, j, valmax, ok;
ifstream in("energii.in");
ofstream out("energii.out");
int mod(int x){
return (x>0?x:-x);
}
int main(){
in>>n>>tot;
sol=99999999;
for(i=1; i<=10000; i++)
m[i]=9999999;
for(i=1; i<=n; i++){
in>>xe>>xc;
for(j=valmax; j>=1; j--){
if(j+xe<=10000 && m[j]!=0){
if(m[j]+xc<m[j+xe])
m[j+xe]=m[j]+xc;
if(j+xe>=tot && m[j+xe]<sol){
sol=m[j+xe];
ok=1;
}
}
}
if(m[xe]>xc)
m[xe]=xc;
if(xe>=tot && xc<sol){
sol=xc;
ok=1;
}
if(valmax<=10000)
valmax+=xe;
else
valmax=10000;
}
if(ok==1)
out<<sol;
else
out<<"-1";
return 0;
}