Pagini recente » Cod sursa (job #1367371) | Cod sursa (job #60721) | Cod sursa (job #821986) | Cod sursa (job #2334907) | Cod sursa (job #2887202)
#include<bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long long n, s, t;
int main()
{
long long c, p, suma=0;
vector <pair <long long, long long>> vect;
deque <long long> deq;
f>>n>>s>>t;
for(long long i=0; i<n; i++) {
f >> c >> p;
vect.push_back(pair<long long, long long>(c, p));
while (deq.empty() == 0 && i - deq.front() - 1 == t) {
deq.pop_front();
}
while (deq.empty() == 0 && c <= vect[deq.back()].first + (i - deq.back()) * s) {
deq.pop_back();
}
deq.push_back(i);
suma += (vect[deq.front()].first + (i - deq.front()) * s) * p;
}
g<<suma;
return 0;
}