Pagini recente » Cod sursa (job #435905) | Cod sursa (job #809164) | Cod sursa (job #1668516) | Cod sursa (job #2399394) | Cod sursa (job #911935)
Cod sursa(job #911935)
#include <cstdio>
#include <deque>
using namespace std;
deque<long long> d;
int n;
long long s,t;
int a[100100];
int b[100100];
long long sol;
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d%lld%lld",&n,&s,&t);
for(int i=1;i<=n;++i)
{
scanf("%d%d",&a[i],&b[i]);
while(!d.empty()&&i-d.front()>t)
d.pop_front();
while(!d.empty()&&a[d.back()]+s*(i-d.front())>a[i])
d.pop_back();
d.push_back(i);
sol+=a[d.front()]*b[i];
sol+=b[i]*s*(i-d.front());
}
printf("%lld",sol);
return 0;
}