Pagini recente » Cod sursa (job #1673541) | Cod sursa (job #2578616) | Cod sursa (job #1464753) | Cod sursa (job #1607456) | Cod sursa (job #2500029)
#include <cstdio>
#include <algorithm>
using namespace std;
int n,s,t,nr[100003],cost[100003],dp[100003],suma;
int minim (int nr1, int nr2) {
if(nr1<nr2)
return nr1;
return nr2;
}
int main () {
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d%d%d", &n, &s, &t);
scanf("%d%d", &cost[1], &nr[1]);
dp[1]=nr[1]*cost[1];
for(int i=2;i<=n;++i) {
scanf("%d%d", &cost[i], &nr[i]);
dp[i]=nr[i]*cost[i];
for(int j=i-1;j>0 && i-j<t;--j)
dp[i]=minim(dp[i],(i-j)*s*nr[i]+nr[i]*cost[j]);
}
for(int i=1;i<=n;++i)
suma+=dp[i];
printf("%d", suma);
return 0;
}