Pagini recente » Cod sursa (job #535106) | Cod sursa (job #3168579) | Cod sursa (job #868028) | Cod sursa (job #2141204) | Cod sursa (job #996701)
Cod sursa(job #996701)
#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,a[5002], b[5002], j, d[1002], v[1002], sd[1002];
int main()
{
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<=n;i++)
{
for(j=0;j<=g;j++)
{
if(j>sd[i])
{
b[j]=0;
}
else if(a[j]==0)
{
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];
}
}
if(a[g])
fout<<a[g];
else
fout<<-1;
return 0;
}