Pagini recente » Cod sursa (job #1740896) | Cod sursa (job #385475) | Cod sursa (job #1160459) | Cod sursa (job #1231239) | Cod sursa (job #3247806)
#include <fstream>
#include <queue>
using namespace std;
using ll = long long;
const int NMAX = 100002;
ifstream cin("branza.in");
ofstream cout("branza.out");
int s;
ll v[NMAX];
deque <int> dq;
int main()
{
int n, t;
cin >> n >> s >> t;
ll cost, cate, ans = 0;
for(int i = 1; i <= n; i++) {
cin >> cost >> cate;
v[i] = cost - i * s;
while(!dq.empty() && v[dq.back()] > v[i])
dq.pop_back();
while(!dq.empty() && dq.front() + t < i)
dq.pop_front();
dq.push_back(i);
ans += 1LL * (v[dq.front()] + i * s) * cate;
}
cout << ans;
return 0;
}