Pagini recente » Cod sursa (job #3184533) | Cod sursa (job #1647841) | Cod sursa (job #2350791) | Cod sursa (job #1079032) | Cod sursa (job #2938474)
#include <bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
deque <long long> dq;
long long n,s,t,c[1000005],p[1000005];
int main()
{
f >> n >> s >> t;
for (int i=1; i<=n; i++ )
{
f >> c[i] >> p[i];
}
for (int i=1; i<=n; i++ )
{
while ( !dq.empty() && c[dq.back()]+s*(i-dq.back())>=c[i] )
{
dq.pop_back();
}
while ( !dq.empty() && t<(i-dq.front()) )
{
dq.pop_front();
}
sl=sl+c[dq.front()]*p[i]+p[i]*(i-dq.front())*s;
}
g << sl;
return 0;
}