Pagini recente » Cod sursa (job #2738948) | Cod sursa (job #1385166) | Cod sursa (job #685564) | Cod sursa (job #266046) | Cod sursa (job #998074)
Cod sursa(job #998074)
#include<stdio.h>
#include<algorithm>
#include<deque>
#define maxn 100005
using namespace std;
int n,s,t;
int c[maxn],p[maxn];
deque <int> q;
long long sol;
void read()
{
scanf("%d%d%d",&n,&s,&t); t++;
for(int i=1;i<=n;i++) scanf("%d%d",&c[i],&p[i]);
}
void solve()
{
for(int i=1;i<=n;i++)
{
while(!q.empty() && 1LL*c[q.back()]+1LL*s*(i-q.back())>=c[i]) q.pop_back();
q.push_back(i);
if(q.front()==i-t) q.pop_front();
sol+=1LL*(1LL*c[q.front()]+1LL*s*(i-q.front()))*p[i];
}
}
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
read();
solve();
printf("%lld",sol);
fclose(stdin);
fclose(stdout);
return 0;
}