Cod sursa(job #1399784)

Utilizator ancabdBadiu Anca ancabd Data 24 martie 2015 21:53:41
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#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;
}