Pagini recente » Cod sursa (job #106047) | Cod sursa (job #2753423) | Cod sursa (job #217295) | Cod sursa (job #2172812) | Cod sursa (job #1399784)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long long int n, t, s, x[100001], f;
deque<long long int> a;
int main()
{
fin >> n >> s >> t;
long long int p;
for (long long int i = 1; i <= n; ++i)
{
fin >> x[i] >> p;
if (!a.empty() && a.back() == x[i - t -1] +(n - (i- t -1)) *s)a.pop_back();
while (!a.empty() && a.front() > x[i] + (n-i)* s)a.pop_front();
a.push_front(x[i]+ (n -i) *s);
f =f + p * (a.back() - (n-i) * s);
}
fout << f;
}