Cod sursa(job #1344060)
| Utilizator | Data | 16 februarie 2015 12:01:11 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <stdio.h>
int s[15010];
struct date{int e,c;};
date v[1010];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int i,j,n,m;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].e,&v[i].c);
for(i=1;i<=n;i++)
for(j=m;j>=1;j--){
if(s[j]!=0)
if(s[j+v[i].e]==0||s[j+v[i].e]>s[j]+v[i].c)
s[j+v[i].e]=s[j]+v[i].c;
if(s[v[i].e]==0||s[v[i].e]>v[i].c)
s[v[i].e]=v[i].c;
}
i=m;
while(s[i]==0)
i++;
printf("%d",s[i]);
return 0;
}
