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