Pagini recente » Cod sursa (job #395336) | Cod sursa (job #1129323) | Cod sursa (job #2871930) | Cod sursa (job #2155036) | Cod sursa (job #2863096)
#include<bits/stdc++.h>
#define int long long
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int n,s,t,dq[100004];
struct elem
{
int c,p;
}v[100004];
signed main()
{
int i,frontt,backk,sum=0;
f>>n>>s>>t;
for(i=1;i<=n;i++)
{
f>>v[i].c>>v[i].p;
}
frontt=1;
backk=0;
for(i=1;i<=n;i++)
{
while(frontt<=backk && v[i].c<=v[dq[backk]].c + s*(i-dq[backk]))
backk--;
backk++;
dq[backk]=i;
if(i-dq[frontt]+1>t)
frontt++;
sum+=((v[dq[frontt]].c + (i-dq[frontt])*s)*v[i].p);
}
g<<sum;
return 0;
}