Pagini recente » Cod sursa (job #2174036) | Cod sursa (job #2438875) | Cod sursa (job #2747698) | Cod sursa (job #1178323) | Cod sursa (job #2889357)
#include <iostream>
#include <fstream>
#include <cmath>
#include <deque>
using namespace std;
int k;
long long n, t, x, y, i, s;
deque <long long> deque1, deque2;
int main()
{
ifstream in("branza.in");
ofstream out("branza.out");
in>>n>>k>>t;
for(i = 1; i <= n; i++)
{
in>>x>>y;
if(i - deque2.front() > t && deque1.size() != 0)
{
deque1.pop_front();
deque2.pop_front();
}
while(deque1.size() != 0 && deque1.back() * y + k * (i - deque2.back()) * y > x * y)
{
deque1.pop_back();
deque2.pop_back();
}
deque1.push_back(x);
deque2.push_back(i);
s += deque1.front() * y + k * (i - deque2.front()) * y;
}
out<<s;
return 0;
}