Pagini recente » Cod sursa (job #2002546) | Cod sursa (job #1652676) | Statistici Name Surname (namesurname01) | Cod sursa (job #2263899) | Cod sursa (job #2732298)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long long N, C[100005], P, S, T, Suma;
deque<int> deq;
int main(){
Suma = 0;
fin>>N>>S>>T;
T++;
for(long long i=0; i<N; i++){
fin>>C[i]>>P;
if(deq.empty()!=0 && deq.front()==i-T) deq.pop_front();
while(!deq.empty() && C[i]<=C[deq.back()]+S*(i-deq.back())) deq.pop_back();
deq.push_back(i);
Suma=Suma+(long long)P*(C[deq.front()]+S*(i-deq.front()));
}
fout<<Suma;
return 0;
}