Pagini recente » Cod sursa (job #200986) | Cod sursa (job #2230085) | Cod sursa (job #1393189) | Cod sursa (job #3174914) | Cod sursa (job #2801850)
#include <fstream>
#include <deque>
#define MAXN 100000
using namespace std;
ifstream fin( "branza.in" );
ofstream fout( "branza.out" );
long long pret[MAXN + 1];
deque <long long> d;
int main(){
long long n, s, t, i, kg, sum;
fin >> n >> s >> t;
t++;
sum = 0;
for( i = 0; i < n; i++ ){
fin >> pret[i] >> kg;
if( !d.empty() && d.front() == i - t )
d.pop_front();
while( !d.empty() && (pret[d.back()] + s * ( i - d.back() )) >= pret[i] )
d.pop_back();
d.push_back(i);
sum += ( pret[d.front()] + s * (i - d.front())) * kg;
}
fout << sum;
return 0;
}