Pagini recente » Cod sursa (job #1170681) | Cod sursa (job #496536) | Cod sursa (job #1723870) | Cod sursa (job #47155) | Cod sursa (job #2334989)
#include <iostream>
#include <fstream>
#include <deque>
#define ll long long
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
ll n,s,t,i,j,nr,v,ct;
ll rez;
struct per
{ ll v,p; };
deque<per> dq;
int main() {
fin>>n>>s>>t;
for(i=1;i<=n;i++)
{
fin>>v>>ct;
while(!dq.empty() && dq.back().v+s*(i-dq.back().p) > v)
dq.pop_back();
while(!dq.empty() && dq.front().p <= i-t)
dq.pop_front();
dq.push_back({v,i});
rez+=(dq.front().v+s*(i-dq.front().p))*ct;
}
fout<<rez<<"\n";
}