Cod sursa(job #2353811)
| Utilizator | Data | 24 februarie 2019 16:51:11 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.74 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
fstream 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;
}
