Pagini recente » Cod sursa (job #2361364) | Diferente pentru preoni-2007/runda-3/solutii intre reviziile 34 si 33 | Cod sursa (job #3192740) | Monitorul de evaluare | Cod sursa (job #2411518)
#include <fstream>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
const int inf = (1 << 30);
const int Nmax = 100005;
int v[Nmax], best[Nmax];
int cant, cost[Nmax];
long long int suma;
int n,s,t;
int last;
int value;
int main(){
int i,j;
f >> n >> s >> t;
last = 1;
for(i = 1; i <= n ; i++){
f >> cost[i] >> cant;
best[i] = inf;
for(j = last ; j <= i ; j++){
value = cost[j] * cant + (i - j) * cant * s;
if(value < best[i])
best[i] = value, last = j;
}
if(i - last == t - 1)
last++;
}
for(i = 1 ; i <= n ; i++)
suma += best[i];
g << suma;
return 0;
}