Pagini recente » Cod sursa (job #1417327) | Cod sursa (job #3197050) | Cod sursa (job #3225082) | Cod sursa (job #2378201) | Cod sursa (job #2713984)
//
// main.cpp
// branza
//
// Created by Ionut Bogdanescu on 01.03.21.
//
#include <deque>
#include <fstream>
using namespace std;
int main(){
ifstream in("branza.in");
ofstream out("branza.out");
int N, T;
long long S, result = 0;
deque<long long> price, position;
in >> N >> S >> T;
for(int i = 0; i < N; ++i){
long long c, p;
in >> c >> p;
while(!price.empty() && price.back() + S * (i - position.back()) >= c) {
price.pop_back();
position.pop_back();
}
price.push_back(c);
position.push_back(i);
result += p * (price.front() + S * (i - position.front()));
}
out << result;
return 0;
}