Pagini recente » Cod sursa (job #1389833) | Cod sursa (job #2817547) | Cod sursa (job #1690725) | Cod sursa (job #386504) | Cod sursa (job #2801847)
#include <fstream>
#include <deque>
#define MAXN 100000
using namespace std;
ifstream fin( "branza.in" );
ofstream fout( "branza.out" );
int pret[MAXN + 1];
deque <int> d;
int main(){
int n, s, t, i, kg;
long long 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;
}