Pagini recente » Cod sursa (job #2923446) | Cod sursa (job #1840727) | Clasament atafedtsorp | Cod sursa (job #3175808) | Cod sursa (job #2806253)
#include <fstream>
#include <deque>
#define N 10000000
using namespace std;
deque <int> q;
long long c[N], b[N];
int main()
{
ifstream f("branza.in");
ofstream g("branza.out");
long long n, s, t, ss = 0;
f >> n >> s >> t;
for (int i = 1;i <= n;++i)
{
f >> c[i] >> b[i];
while (!q.empty() && i - q.front() > t) q.pop_front();
while (!q.empty() && (i - q.back()) * s * b[i] + c[q.back()] * b[i] > c[i] * b[i]) q.pop_back();///am gasit un pret mai bun
q.push_back(i);
ss = ss + (i - q.front()) * s * b[i] + c[q.front()] * b[i];
}
g << ss;
f.close();
g.close();
return 0;
}