Pagini recente » Cod sursa (job #3233563) | Cod sursa (job #1492626) | Cod sursa (job #669329) | Cod sursa (job #1205806) | Cod sursa (job #1399775)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int n, t, s, x[100001], f;
deque<int> a;
int main()
{
fin >> n >> s >> t;
int p;
for (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();
int c = x[i]+ (n -i) *s;
a.push_front(c);
f =f + p * (a.back() - (n - i) * s);
}
fout << f;
}