Pagini recente » Cod sursa (job #1239417) | Cod sursa (job #69352) | Cod sursa (job #1761096) | Cod sursa (job #1728774) | Cod sursa (job #2274391)
#include <fstream>
using namespace std;
ifstream cin ("branza.in");
ofstream cout ("branza.out");
const int LMAX = 100005;
int n, s, k, st, dr = -1;
int v[LMAX], dq[LMAX], p[LMAX];
long long ans;
int main()
{
cin >> n >> s >> k;
k++;
for (int i = 0; i < n; ++i)
{
cin >> v[i] >> p[i];
if (i >= k && dq[st] == i - k)
st++;
while (st <= dr && v[i] <= v[dq[dr]] + s * (i - dq[dr]))
dr--;
dq[++dr] = i;
ans += 1LL * p[i] * (v[dq[st]] + s * (i - dq[st]));
}
cout << ans;
return 0;
}