Pagini recente » Cod sursa (job #405475) | Cod sursa (job #1907704) | Cod sursa (job #2710098) | Cod sursa (job #977689) | Cod sursa (job #2049174)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int a[1005][5005];
pair <int, int> v[1005];
int main()
{
int g,w,i,j,d;
fin>>g>>w;
for(i=1;i<=g;i++)
{
fin>>v[i].first>>v[i].second;
}
sort(v+1,v+g+1);
for(i=1;i<=g;i++)
{
for(j=1;j<=w;j++)
{
if(v[i].first>=j)
{
if(a[i-1][j]==0)
a[i][j]=v[i].second;
else
a[i][j]=min(a[i-1][j],v[i].second);
}
else
if(j<=v[i].first+v[i-1].first)
if(a[i-1][j]==0)
a[i][j]=v[i].second+v[i-1].second;
else
a[i][j]=min(a[i-1][j],v[i].second+v[i-1].second);
}
}
if(a[g][w]==0)
fout<<-1;
else
fout<<a[g][w];
return 0;
}