Nu aveti permisiuni pentru a descarca fisierul grader_test8.ok

Cod sursa(job #577467)

Utilizator lianaliana tucar liana Data 10 aprilie 2011 12:21:15
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
#define nmax 100002
struct element{long long nr, poz;};
long long c, x, s, inc, sf, i, t, p, n;
element v[nmax];

int main()
{
	freopen("branza.in","r",stdin);
	freopen("branza.out","w",stdout);
	scanf("%ld %ld %ld",&n, &p, &t);
	scanf("%ld %ld",&c,&x);
	inc=1;	sf=1;	
	v[1].poz=1;	v[1].nr=c+(n-1)*p;
	s=c*x;
	for (i=2;i<=n;i++)
	{
		scanf("%lld %lld",&c,&x);
		if (v[inc].poz==(i-t-1))
			inc++;
		while ((v[sf].nr>c+(n-i)*p) && (sf>=inc))
			sf--;
		v[++sf].poz=i;	v[sf].nr=c+(n-i)*p;
		s+=(v[inc].nr-(n-i)*p)*x;
	}
	printf("%lld",s);
	return 0;
}