Pagini recente » Cod sursa (job #2505961) | Cod sursa (job #3145356) | Cod sursa (job #1716597) | Cod sursa (job #2597542) | Cod sursa (job #3145416)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
long long v [ 5000005 ];
int main()
{long long n , k ;
deque<int> dq ;
cin >> n >> k ;
for ( int i = 1; i <= k ; i ++ )
{
cin >> v[ i ] ;
while ( !dq.empty() && v[dq.back()] > v [ i ] )
dq.pop_back();
dq.push_front( i ) ;
}
long long sum = 0 ;
sum += v[dq.back()];
for ( int i = k + 1 ; i <= n ; i ++ )
{
cin >> v[ i ];
while (!dq.empty() && i - k + 1 > dq.back() )
{
dq.pop_back();
}
while ( !dq.empty() && v[dq.back()] > v [ i ] )
dq.pop_back();
dq.push_front( i );
sum += v[dq.back()];
}
cout << sum ;
return 0;
}