Pagini recente » Cod sursa (job #638869) | Monitorul de evaluare | Cod sursa (job #1079190) | Istoria paginii runda/oni_pre | 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;
}