Cod sursa(job #1834293)

Utilizator ipus1Stefan Enescu ipus1 Data 24 decembrie 2016 12:15:22
Problema Energii Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
struct aa{int x,y;};
aa v[1001];
int vec[5001];
int main ()
{freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
int n,x,i,j,k;
scanf("%d%d",&n,&x);
for(i=1;i<=n;i++)
    scanf("%d%d",&v[i].x,&v[i].y);
for(i=1;i<=n;i++)
    {for(j=x;j>=1;j--)
        if(vec[j]>0)
            {k=j+v[i].x;
            if(k>x)
                k=x;
            if(vec[k]==0||vec[j]+v[i].y<vec[k])
                vec[k]=vec[j]+v[i].y;
            }
    if(vec[v[i].x]==0||vec[v[i].x]>v[i].y)
        vec[v[i].x]=v[i].y;
    }
printf("%d",vec[x]);
return 0;
}