Pagini recente » Cod sursa (job #2469780) | Cod sursa (job #3166145) | Cod sursa (job #139931) | Cod sursa (job #2407621) | Cod sursa (job #786569)
Cod sursa(job #786569)
# include <fstream>
# include <cstring>
# include <algorithm>
# include <vector>
# include <deque>
# define dim 5000005
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int a[ dim ];
deque < int > q;
int n, k;
long long sol;
void citire()
{
int i;
f >> n >> k;
for ( i = 1 ; i <= n ; i++ )
f >> a[ i ];
}
void rezolva()
{
int i;
q.push_front( 1 );
for ( i = 2 ; i <= n ; i++ )
{
while ( a[ q.back() ] >= a[ i ] && q.size() != 0 )
q.pop_back();
q.push_back( i );
if ( i >= k )
{
sol = sol + a[ q.front() ];
if ( q.front() == i - k + 1 )
q.pop_front();
}
}
g << sol;
}
int main()
{
citire();
rezolva();
return 0;
}