Cod sursa(job #384855)

Utilizator alexandru92alexandru alexandru92 Data 21 ianuarie 2010 12:55:15
Problema Deque Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <cstdlib>
#define inf 0x3f3f3f3f

/*
 *
 */
using namespace std;
inline int min( int x, int y )
{
	return y^( (x^y) & -(x<y) );
}
int main()
{
	int n, i, j, s=0, k, x, start=0;
	int *v, *count;
	ifstream in("deque.in");
	in>>n>>k;
	v=new int[n];
	count=new int[n];
	for( i=0; i < n; ++i )
	{
		in>>x;
		v[i]=x;
		count[i]=1;
		for( j=start; j < i; ++j )
			if( count[j] >= k )
				start=j;
			else {	v[j]=min( v[j], x );
					++count[j];
				  }
	}
	for( i=0; i <= n-k; ++i )
		s+=v[i];
	ofstream out("deque.out");
	out<<s;
}