Pagini recente » Cod sursa (job #1546104) | Cod sursa (job #1593408) | Cod sursa (job #696829) | Cod sursa (job #1532606) | Cod sursa (job #2639040)
#include <bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long long n,s,t,i,sum,cost[100005],cant[100005];
deque <long long > d;
int main()
{
f>>n>>s>>t;
for (i=1;i<=n;i++)
{
f>>cost[i]>>cant[i];
while (!d.empty()&&cost[d.back()]+s*(i-d.back())>cost[i])
{
d.pop_back();
}
d.push_back(i);
if (!d.empty()&&d.front()+t<i)
{
d.pop_front();
}
sum=sum+((i-d.front())*s+cost[d.front()])*cant[i];
}
g<<sum;
return 0;
}