Pagini recente » Cod sursa (job #703176) | Cod sursa (job #1243875) | Cod sursa (job #2308277) | Cod sursa (job #2236451) | Cod sursa (job #2746899)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int MAXN = 1e5;
pair<int,int> a[MAXN];
void solve() {
int N, S, T;
fin >> N >> S >> T;
deque<int> dq;
int ans = 0;
for (int i = 0; i < N; ++i) {
fin >> a[i].first >> a[i].second;
while (!dq.empty() && a[i].first <= a[dq.back()].first + (i - dq.back()) * S)
dq.pop_back();
dq.emplace_back(i);
while (i - dq.front() > T)
dq.pop_front();
ans += (a[dq.front()].first + (i - dq.front()) * S) * a[i].second;
}
fout << ans << '\n';
}
void close_files() {
fin.close();
fout.close();
}
int32_t main() {
solve();
close_files();
return 0;
}