Pagini recente » Cod sursa (job #1043771) | Cod sursa (job #3177724) | Cod sursa (job #474065) | Cod sursa (job #1592185) | Cod sursa (job #3220051)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque <int> d;
int n,t,s,c[100005],p[100005],i,j,cmin;
long long cnt;
int main()
{
fin>>n>>s>>t;
for (i=1;i<=n;i++)
fin>>c[i]>>p[i];
d.push_front(1);
for (i=1;i<=n;i++)
{
while (!d.empty() && c[i]<=((i-d.back())*s+c[d.back()])) d.pop_back();
d.push_back(i);
cnt+=(((i-d.front())*(long long)(s))+c[d.front()])*p[i];
if (i-d.front()==t) d.pop_front();
}
fout<<cnt;
return 0;
}