Pagini recente » Cod sursa (job #426429) | Cod sursa (job #741948) | Cod sursa (job #1307231) | Cod sursa (job #2296153) | Cod sursa (job #3127621)
#include <iostream>
#include <fstream>
#include <deque>
int main()
{
std::fstream f ("branza.in");
std::ofstream g ("branza.out");
long v[100000], n,s,t,a,tot=0;
std::deque <int> deq;
f>>n>>s>>t;
for(int i=1;i<=n;i++){
f>>v[i]>>a;
while(!deq.empty() && v[i]<v[deq.back()] + s*(i-deq.back()))
deq.pop_back();
deq.push_back(i);
while(!deq.empty() && i-deq.front()>t)
deq.pop_front();
tot=tot+a*(v[deq.front()]+s*(i-deq.front()));
}
g<<tot;
f.close();
g.close();
return 0;
}