Pagini recente » Cod sursa (job #2072017) | Cod sursa (job #394054) | Cod sursa (job #2885730) | Cod sursa (job #324040) | Cod sursa (job #2889045)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int n,s,t,i=1,sumamin,c[10000001],p;
int main(){
deque<int>branza;
f>>n>>s>>t;
while(i<=n){
f>>c[i]>>p;
while(!branza.empty() && branza.front()<i-t){
branza.pop_front();
}
while(!branza.empty() && (c[branza.back()] + s*(i-branza.back()))>c[i]){
branza.pop_back();
}
branza.push_back(i);
sumamin += p*(c[branza.front()] + s*(i-branza.front()));
i++;
}
g<<sumamin;
f.close();
g.close();
return 0;
}