Pagini recente » Cod sursa (job #560955) | Cod sursa (job #2507717) | Cod sursa (job #412011) | Cod sursa (job #2961615) | 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;
}