Pagini recente » Cod sursa (job #1708778) | Cod sursa (job #526939) | Cod sursa (job #1641671) | Cod sursa (job #2768431) | Cod sursa (job #1502337)
#include<cstdio>
#include<deque>
#define DIM 100001
using namespace std;
int N, S, T, X, Y;
int i;
long long sol;
deque <long long> val;
deque <int> pos;
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d%d%d", &N, &S, &T);
for (i = 1; i <= N; i++)
{
scanf("%lld%d", &X, &Y);
while (!pos.empty() && (i - pos.front() > T))
{
val.pop_front();
pos.pop_front();
}
while (!val.empty() && X <= val.back() + 1LL * (i - pos.front()) * S)
{
val.pop_back();
pos.pop_back();
}
val.push_back(X);
pos.push_back(i);
sol += (val.front() + 1LL * (i - pos.front()) * S) * Y;
}
printf("%lld\n", sol);
}