Pagini recente » Cod sursa (job #2528261) | Cod sursa (job #61651) | Cod sursa (job #778038) | Cod sursa (job #1495944) | Cod sursa (job #2291114)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n , m , a[6000000] , b[6000000] ;
int main()
{
f >> n >> m ;
for( int i = 0 ; i < n ; i ++ )
f >> a[i] ;
int sum = 0 , x = 0 , cursor2 = -1 , cursor1 = 0 ;
for( int i = 0 ; i < n ; i ++ )
{
if(cursor1 <= cursor2 && b[cursor1]==i - m)
{
cursor1 ++;
}
while( cursor1 <= cursor2 && a[i] <= a[b[cursor2]])
{
cursor2 -- ;
}
b[++cursor2] = i;
if(i >= m - 1)
{
sum = sum + a[b[cursor1]] ;
}
}
g << sum ;
}