Pagini recente » Cod sursa (job #2473307) | Cod sursa (job #788498) | Cod sursa (job #766616) | Cod sursa (job #91252) | Cod sursa (job #719425)
Cod sursa(job #719425)
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
int C[100000], P[100000];
int N,S,T;
long long cost;
deque <int> Deque;
ifstream f("branza.in");
ofstream g("branza.out");
int main()
{
int i;
f>>N>>S>>T;
for (i = 1; i <= N; i++) {
f>>C[i]>>P[i];
while (!Deque.empty() && C[i] < (i - Deque.back())*S + C[Deque.back()]) {
Deque.pop_back();
}
Deque.push_back(i);
if (i - Deque.front() > T) {
Deque.pop_front();
}
cost += P[i] * (C[Deque.front()] + S * (i - Deque.front()));
}
g<<cost<<'\n';
return 0;
}