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