Cod sursa(job #1399775)

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