Pagini recente » Cod sursa (job #1704735) | Cod sursa (job #1599736) | Cod sursa (job #675828) | Cod sursa (job #1637005) | Cod sursa (job #2801755)
#include <fstream>
#include <deque>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int main()
{
int n, s, k;
f >> n >> s >> k;
k++;
deque<int> d;
int c[100001], p[100001];
long long sum = 0;
for(int i = 0; i < n; i++)
{
f >> c[i] >> p[i];
if(!d.empty() && d.front() == i - k)
d.pop_front();
if(!d.empty() && c[d.front()] + s * (i - d.front()) >= c[i])
d.pop_back();
d.push_back(i);
sum += (c[d.front()] + s * (i - d.front())) * p[i];
}
g << sum << '\n';
f.close();
g.close();
return 0;
}