Pagini recente » Cod sursa (job #1889219) | Cod sursa (job #2858867) | Cod sursa (job #1031113) | Cod sursa (job #2821597) | Cod sursa (job #3148131)
#include <fstream>
#include <deque>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
int main()
{
long long n, s, t, c, p;
long long r=0;
in>>n>>s>>t;
deque <pair<int, int>>q;
for(int i=1; i<=n; i++)
{
in>>c>>p;
while(!q.empty() && c<q.back().first +(i-q.back().second)*s)
q.pop_back();
q.push_back({c, i});
while(!q.empty() && i-q.front().second>t)
q.pop_front();
r+=p*(q.front().first+s*(i-q.front().second));
}
out<<r;
}