Cod sursa(job #508571)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 8 decembrie 2010 21:50:46
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
# include <fstream.h>
ifstream f ("deque.in");
ofstream g ("deque.out");
int p=1,u,j=1,n,k,i,a[5000005],d[5000005];
long long int s;
  
  void pushmin (int poz)
  {
	  while (p<=u && a[d[u]]>a[poz])
	  u--;
	  u++;
	  d[u]=poz;
  }


int main ()
{
	f>>n>>k;
	for (i=1;i<=n;i++)
		f>>a[i];
	
	for (i=1;i<=n;i++)
	{
		pushmin (i);
		
		while (j<=i-k)
			j++;
		while (d[p]<j)
			p++;
		if (i>=3)
			s=s+a[d[p]];
	}
	
	g<<s;
	return 0;
}