Cod sursa(job #2116232)

Utilizator MarcelVargaMarcel Varga MarcelVarga Data 27 ianuarie 2018 13:47:36
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;
ifstream fi("energii.in");
ofstream fo("energii.out");
int i,j,n,w;
int mi=10001;
int e[1002],c[1002];
int dp[1001][5001];
void af1(){for(int i=1;i<=n;i++){for(int j=1;j<=w;j++) fo<<dp[i][j]<<" ";fo<<'\n';}fo<<'\n';}
int main()
{
    fi>>n>>w;
    for(i=1;i<=n;i++) fi>>e[i]>>c[i];
    for(i=1;i<=n;i++) for(j=1;j<=w;j++){
    if(e[i]>=j) {
            if(dp[i-1][j]!=0) dp[i][j]=min(dp[i-1][j],c[i]);
                         else dp[i][j]=c[i];
    }
else{
    if(e[i]+e[i-1]>=j) if(dp[i-1][j]!=0) dp[i][j]=min(c[i]+c[i-1],dp[i-1][j]);
                                    else dp[i][j]=c[i]+c[i-1];
    }
    }
    //af1();
    for(i=1;i<=n;i++) if(dp[i][w]!=0) mi=min(mi,dp[i][w]);
    fo<<mi;
    return 0;
}