Pagini recente » Cod sursa (job #2667336) | Cod sursa (job #2390627) | Cod sursa (job #1039109) | Cod sursa (job #668441) | Cod sursa (job #2887296)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
struct sapt{
long long p, c;
} v[100000];
deque <int> dq;
int main()
{long long n, s, t, i, cost = 0;
ifstream f("branza.in");
ofstream g("branza.out");
f >> n >> s >> t;
for(i = 0; i < n; i++)
{
f >> v[i].p >> v[i].c;
while(!dq.empty() && i - dq.front() > t)
dq.pop_front();
while(!dq.empty() && v[dq.back()].p * v[dq.back()].c + v[i].p * v[i].c < v[dq.back()].p * (v[dq.back()].c + v[i].c) + s * (i - dq.back()) * v[i].c)
dq.pop_back();
dq.push_back(i);
cost += v[dq.front()].p * v[i].c + (i - dq.front()) * s * v[i].c;
}
g << cost;
return 0;
}