Pagini recente » Cod sursa (job #235798) | Cod sursa (job #753340) | Cod sursa (job #956746) | Cod sursa (job #1814540) | Cod sursa (job #2046226)
#include <bits/stdc++.h>
using namespace std;
const int N = 5000001;
ifstream fin("branza.in");
ofstream fout("branza.out");
long long n,m,i,j,st,s,t,dr = -1,s1,d[1000001];
pair <int,int> v[1000001];
int main()
{
fin>>n>>s>>t;
t++;
for(i=1;i<=n;i++)
{
fin>>v[i].second>>v[i].first;
if(st<=dr && d[st]==i-t)
st++;
while(st <= dr && v[i].second <= v[d[dr]].second + s*(i-d[dr]))
{
dr--;
}
// cout << d[st] << " ";
d[++dr]=i;
s1 += v[i].first*(v[d[st]].second+s*(i-d[st]));
}
fout<<s1;
return 0;
}