Cod sursa(job #895513)
Utilizator | Data | 27 februarie 2013 11:39:45 | |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include<stdio.h>
using namespace std;
int v[1002];
int main()
{
int n,g,x,y,j,min,i;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&g);
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
for(j=1001;j>x;j--)
{
if(v[j-x]!=0)
if(v[j-x]+y<v[j]&&v[j]!=0)
v[j]=v[j-x]+y;
}
if(v[x]==0)
v[x]=y;
else
if(y<v[x])
v[x]=y;
}
min=100000001;
for(i=g;i<=1001;i++)
if(v[i]<min&&v[i]!=0)
min=v[i];
printf("%d",min);
return 0;
}