Pagini recente » Cod sursa (job #1699191) | Cod sursa (job #1691025) | Cod sursa (job #213626) | Cod sursa (job #751119) | Cod sursa (job #996712)
Cod sursa(job #996712)
#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;
}
cout<<"\n";
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];
cout<<a[j]<<" ";
}
cout<<"\n";
}
if(a[g])
fout<<a[g];
else
fout<<-1;
return 0;
}