Pagini recente » Cod sursa (job #829092) | Cod sursa (job #470486) | Cod sursa (job #2916394) | Cod sursa (job #2219144) | Cod sursa (job #2929343)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin ("branza.in");
ofstream fout ("branza.out");
const int NM = 1e5 + 5;
ll cost[NM], p[NM];
deque<ll>dq;
ll n, s, t, ans;
int main(){
fin >> n >> s >> t;
for (int i = 1; i <= n; i++){
fin >> cost[i] >> p[i];
while (!dq.empty() && cost[i] <= cost[dq.back()] + s * (i - dq.back())){
dq.pop_back();
}
while (!dq.empty() && i - dq.front() > t){
dq.pop_front();
}
dq.push_back(i);
ans += 1LL * p[i] * (cost[dq.front()] + s * (i - dq.front()));
}
fout << ans;
}