Pagini recente » Cod sursa (job #2963892) | Cod sursa (job #309569) | Cod sursa (job #451388) | Cod sursa (job #877929) | Cod sursa (job #2807545)
#include <fstream>
#include <climits>
#include <deque>
#define ll long long
using namespace std;
deque <ll> d;
const int NMAX = 100003;
ll v[NMAX];
ifstream cin("branza.in");
ofstream cout("branza.out");
int main()
{
int n, s, t;
ll ans = 0;
cin >> n >> s >> t;
for (int i = 1; i <= n; i++)
{
ll q;
cin >> v[i] >> q;
if (!d.empty() and d.front() == i - t)
d.pop_front();
while (!d.empty() and v[d.back()] + (i - d.back()) * s > v[i])
d.pop_back();
d.push_back(i);
ans += q * (v[d.front()] + (i - d.front()) * s);
}
cout << ans;
}