Pagini recente » Istoria paginii problema/spectacole | Aproape | Istoria paginii algoritmiada-2009/clasament/runda-3/9-10 | Istoria paginii problema/spectacole | Cod sursa (job #2353813)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int G,W,E[1005],C[1005],EC[1005][10005],l=0;
int main(){
fin >> G >> W;
for(int i=1;i<=G;++i)
fin >> E[i] >> C[i];
for(int i=1;i<=G;++i){
if(i>1){
int j;
for(j=l;j<=l+E[i];++j)
EC[i][j]=C[i]+EC[i-1][j-E[i]];
l=j;
}
for(int j=1;j<=E[i];++j)
if(i==1)
EC[i][j]=C[i],++l;
else{
if(EC[i-1][j]==0)
EC[i][j]=C[i];
else
EC[i][j]=min(EC[i-1][j],C[i]);
}
}
fout << EC[G][W];
return 0;
}