Pagini recente » Cod sursa (job #3033509) | Cod sursa (job #1322118) | Cod sursa (job #2564435) | Cod sursa (job #2680154) | Cod sursa (job #2625893)
#include <bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
#define nmax 100003
long long n, s, t, k, sol, v[nmax];
deque <long long> d;
int main()
{
f >> n >> s >> t;
for(int i = 1; i <= n; i++)
{
f >> v[i] >> k;
if(!d.empty() && i - d.front() > t) //daca au trecut cele t zile
d.pop_front();
while(!d.empty() && (v[d.back()] + (i-d.back()) * s ) >= v[i] )
d.pop_back();
d.push_back(i);
sol += k * (v[d.front()] + (i-d.front()) * s);
}
g << sol;
return 0;
}