Pagini recente » Cod sursa (job #1972931) | Cod sursa (job #2320775) | Cod sursa (job #1330816) | Cod sursa (job #1803616) | Cod sursa (job #3251619)
#include <iostream>
#include<deque>
#include<fstream>
using namespace std;ifstream fin("branza.in");ofstream fout("branza.out");
int n,dep,m,i,v[100001],k;deque<int>q;long long s;
int main()
{fin>>n>>dep>>m;
for(i=1;i<=n;i++){fin>>v[i]>>k;
while(!q.empty()&&v[q.back()]+dep*(i-q.back())>=v[i])q.pop_back();q.push_back(i);
if(q.front()<i-m)q.pop_front();
s+=(v[q.front()]+(i-q.front())*dep)*1ll*k;
}fout<<s;
return 0;
}