Cod sursa(job #672290)

Utilizator micutuzBalog Adrian micutuz Data 1 februarie 2012 20:33:55
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<iostream.h>
#include<fstream.h>
#define DN 10000005
#define DM 500005

int a[DM], s=0, poz;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
	int n, k, min1=DN, i, j, l;
	
	fin>>n>>k;
	for(i=1;i<=n;i++)
	{
		fin>>a[i];
		if(poz<=i-k && i>=k)
		{
			min1=DN;
			for(j=i-k+1;j<=i;j++)
				if(a[j]<min1)
					min1=a[j], poz=j-1;
			s+=min1;
		}
		else
			if(min1>=a[i])
				min1=a[i], poz=i, s+=a[i];
			else
			{
				if(i>k)
				{
					l=i;
					while(min1!=a[l])
						l--;
					s+=a[l];
				}
			}

		
	}
	fout<<s;
}