Pagini recente » Monitorul de evaluare | Cod sursa (job #2219796) | Cod sursa (job #1785764) | Conventii de formatare | Cod sursa (job #2006769)
#include<cstdio>
#include<deque>
using namespace std;
const int nmax=1e5+5;
deque<int> indmin;
int c[nmax],p;
long long sol;
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
int n,i,j,s,t;
scanf("%d%d%d",&n,&s,&t);
for(i=1;i<=n;++i)
{
scanf("%d%d",&c[i],&p);
c[i]-=i*s;
while(!indmin.empty() && i-indmin.front() >t)
indmin.pop_front();
while(!indmin.empty() && c[indmin.back()] > c[i])
indmin.pop_back();
indmin.push_back(i);
sol = sol+ (1LL*c[indmin.front()] + i*s)*p;
}
printf("%lld",sol);
}