Pagini recente » Cod sursa (job #203347) | Cod sursa (job #1829643) | Cod sursa (job #315612) | Cod sursa (job #1593466) | Cod sursa (job #2727086)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream gout("branza.out");
deque <pair<int, int>> dcoada;
int n, S, T, i, c, p;
long long cost_total;
int main()
{
fin >> n >> S >> T;
for(i = 1; i <= n ; ++i)
{
fin >> c >> p;
while(!dcoada.empty() and (i - dcoada.front().second) > T)
dcoada.pop_front();
while (!dcoada.empty() and c < dcoada.back().first + S * (i - dcoada.back().second))
dcoada.pop_back();
dcoada.push_back({c, i});
cost_total += p * (dcoada.front().first + S * (i - dcoada.front().second));
}
gout << cost_total;
return 0;
}