Pagini recente » Cod sursa (job #1688771) | Cod sursa (job #3161472) | Cod sursa (job #2704353) | Cod sursa (job #2665561) | Cod sursa (job #2730916)
#include <iostream>
#include <fstream>
#include <deque>
#define x 100000
using namespace std;
int main()
{
ifstream fis;
fis.open("branza.in");
ofstream gis;
gis.open("branza.out");
int n,s,t;
fis>>n>>s>>t;
deque <int> q;
long long sum=0;
int v[x];
for(int i=0;i<n;i++)
{
int cost;
fis>>v[i]>>cost;
if(!q.empty() && i-t-1==q.front())
q.pop_front();
while(!q.empty() && v[i]<=(v[q.back()]+s*(i-q.back())))
q.pop_back();
q.push_back(i);
sum += (long long)cost*(v[q.front()]+(long long)(i-q.front()) * s);
}
gis<<sum;
return 0;
}