Pagini recente » Cod sursa (job #3125903) | Rating Ghiurutan Dragos (Ghiurutan2001) | Cod sursa (job #2659089) | Cod sursa (job #2675078) | Cod sursa (job #2500013)
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int N = 1e5 + 7;
int c[N], dq[N];
int main()
{
long long ans(0);
int n, s, t, p, st(0), dr(-1);
fin >> n >> s >> t;
for (int i = 0; i < n; ++i) {
fin >> c[i] >> p;
c[i] -= i * s;
while (st <= dr && c[dq[dr]] >= c[i])
--dr;
if (st <= dr && dq[st] <= i - t)
++st;
dq[++dr] = i;
ans += 1LL * p * (c[dq[st]] + 1LL * i * s);
}
fout << ans;
return 0;
}