Pagini recente » Cod sursa (job #333796) | Cod sursa (job #2694649) | Cod sursa (job #2959317) | Cod sursa (job #2371348) | Cod sursa (job #2394734)
#include <fstream>
#include <deque>
#define MAXN 5000000
using namespace std;
ifstream cin( "deque.in" );
ofstream cout( "deque.out" );
int n, m;
int v[1+MAXN+1];
deque<int> dq;
inline void my_push_back( int p )
{
while( !dq.empty() && v[p]<v[dq.back()] )
dq.pop_back();
dq.push_back(p);
}
inline void my_pop_front( int p )
{
if( dq.front()==p )
dq.pop_front();
}
int main()
{
cin>>n>>m;
for( int i=1;i<m;i++ )
cin>>v[i], my_push_back(i);
long long sum=0;
for( int i=m;i<=n;i++ )
{
cin>>v[i], my_push_back(i);
sum+=v[dq.front()];
my_pop_front(i-m+1);
}
cout<<sum;
return 0;
}