Pagini recente » Cod sursa (job #213779) | Cod sursa (job #637462) | Cod sursa (job #2842916) | Cod sursa (job #2597361) | Cod sursa (job #1600315)
#include<fstream>
#include<cstring>
#define inf 0x7f7f7f7f
using namespace std;
int n, t, i, j, cant, cost, D[10002], cmax, sol;
ifstream in("energii.in");
ofstream out("energii.out");
int main()
{
in>>n>>t;
memset(D, 127, sizeof(D));
D[0]=0;
sol=inf;
for(j=1; j<=n; j++)
{
in>>cant>>cost;
for(i=cmax; i>=0; i--)
{
if(i+cant<=10000 && i+cant>cmax)
cmax=i+cant;
if(i+cant<=10000 && D[i+cant]>D[i]+cost)
{
D[i+cant]=D[i]+cost;
if(D[i+cant]<sol && i+cant>=t)
sol=D[i+cant];
}
}
}
sol!=inf?out<<sol:out<<"-1";
return 0;
}