Pagini recente » Cod sursa (job #3135490) | Cod sursa (job #2939389) | Cod sursa (job #530996) | Cod sursa (job #1970435) | Cod sursa (job #2888518)
#include <iostream>
#include <fstream>
#include <cmath>
#include <deque>
using namespace std;
long long n, k, i, s, x, y, t;
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(deque1.size() != 0)
while(i - deque2.front() > t)
{
deque1.pop_front();
deque2.pop_front();
}
if(deque1.size() == 0)
{
s += x * y;
deque1.push_back(x);
deque2.push_back(i);
}
else{
if(x * y < y * deque1.back() + k * (i - deque2.back()) * y)
{
s += x * y;
deque1.push_back(x);
deque2.push_back(i);
}
else
s += y * deque1.back() + k * (i - deque2.back()) * y;
}
}
out<<s;
return 0;
}