Pagini recente » Cod sursa (job #1716862) | Cod sursa (job #2940561) | Cod sursa (job #630577) | Cod sursa (job #1390865) | Cod sursa (job #2943919)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
const int dim = 5e5+5;
int v[ dim ], dequeue[ dim ];
int main()
{
int l_fr, n, st = 1, dr = 0, suma = 0;
cin >> n >> l_fr;
for ( int i = 1; i <= n; ++i )
{
cin >> v[ i ];
}
for ( int i = 1; i <= n; ++i )
{
while ( st <= dr && v[ i ] < v[ dequeue[ dr ] ] )
--dr;
++dr, dequeue[ dr ] = i;
if ( dequeue[ st ] < i - l_fr + 1 )
st++;
if ( i >= l_fr )
suma += v[ dequeue[ st ] ] ;
}
cout << suma;
}