Pagini recente » Cod sursa (job #2417935) | Cod sursa (job #2252961) | Cod sursa (job #2534622) | Cod sursa (job #903993) | Cod sursa (job #2888572)
#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;
while(i - deque2.front() > t && deque1.size() != 0)
{
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 = s + y * deque1.back() + k * (i - deque2.back()) * y;
}
}
out<<s;
return 0;
}