Pagini recente » Cod sursa (job #491186) | Cod sursa (job #228715) | Cod sursa (job #1434033) | Cod sursa (job #890945) | Cod sursa (job #2046224)
#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;
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;
}