Pagini recente » Cod sursa (job #1740944) | Cod sursa (job #1628025) | Cod sursa (job #2813631) | Cod sursa (job #1904791) | Cod sursa (job #2469064)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
deque < long long > a;
int main()
{
long long n, k, i;
long long x, s = 0;
long long v[500001];
fin >> n >> k;
for ( i = 1 ; i <= n ; i++ ) fin >> v[i];
for ( i = 1 ; i < k ; i++ )
{
x = v[i];
if ( a.empty() == 0 ) while ( x <= a.back() || a.empty() != 0 ) a.pop_back();
a.push_back ( x );
}
for ( i = k ; i <= n ; i++ )
{
x = v[i];
while ( x <= a.back() ) a.pop_back();
a.push_back ( x );
if ( a.front() == v[i-k] ) a.pop_front();
s += a.front();
}
fout << s;
return 0;
}