Pagini recente » Cod sursa (job #343743) | Cod sursa (job #633630) | Cod sursa (job #3246232) | Cod sursa (job #1617809) | Cod sursa (job #996714)
Cod sursa(job #996714)
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream fin ("energii.in" );
ofstream fout("energii.out");
#define baza 1
#define MAX 2000004
#define MOD 9973
typedef long long int lli;
int n,t,s,i,g, b[5002], j, d[1002], v[1002], sd[1002];
int main()
{
int a[5002]={-1};
fin>>n;
fin>>g;
for(i=1;i<=n;i++)
{
fin>>d[i]>>v[i];
sd[i]=sd[i-1]+d[i];
}
for(i=1;i<=g;i++)
{
a[i]=-1;
}
for(i=1;i<=n;i++)
{
for(j=0;j<=g;j++)
{
if(j>sd[i])
{
b[j]=-1;
}
else if(a[j]==-1)
{
if(d[i]<j)
{
b[j]=v[i]+a[j-d[i]];
}
else
{
b[j]=v[i];
}
}
else
{
if(d[i]<j)
{
b[j]=min(v[i]+a[j-d[i]], a[j]);
}
else
{
b[j]=min(v[i], a[j]);
}
}
}
for(j=0;j<=g;j++)
{
a[j]=b[j];
}
}
fout<<a[g];
return 0;
}