Pagini recente » Cod sursa (job #174148) | Cod sursa (job #2482896) | Cod sursa (job #356727) | Cod sursa (job #509031) | Cod sursa (job #2625894)
#include <bits/stdc++.h>
using namespace std;
int c[100001], p[100001], addit[100001];
int n, s, t, answ = 0, l = 0, r = -1;
int main()
{
ifstream fin ("branza.in");
ofstream fout ("branza.out");
fin >> n >> s >> t;
for (int i = 0; i < n; i++)
fin>> c[i] >> p[i];
fin.close();
for (int i = 0; i < n; i++){
if (l <= r && addit[l] == (i-t))
l++;
while (l <= r && c[i] <= c[addit[r]] + (i-addit[r])*s)
r--;
addit[++r] = i;
answ = answ + (c[addit[l]] + (i-addit[l])*s)*p[i];
}
fout << answ;
fout.close();
return 0;
}