Pagini recente » Cod sursa (job #2302950) | Cod sursa (job #3281579) | Pesti | Cod sursa (job #1706437) | Cod sursa (job #1245776)
#include <fstream>
#include <deque>
#define pb push_back
#define pf pop_front
#define p pop_back
#define IN "deque.in"
#define OUT "deque.out"
const int MAX = 5000014 ;
using namespace std;
ifstream fin ( IN ) ;
ofstream fout ( OUT ) ;
deque < int > dq ;
int v [ MAX ] ;
int main()
{
int n , k ;
long long sol = 0 ;
fin >> n >> k ;
for ( register int i = 1 ; i <= n ; ++ i )
fin >> v [ i ] ;
for ( register int i = 1 ; i <= n ; ++ i ){
while ( !dq.empty ( ) and v [ i ] <= dq.back ( ) )
dq.p ( ) ;
if ( !dq.empty ( ) and v [ i - k ] == dq.front ( ) )
dq.pf ( ) ;
dq.pb ( v [ i ] ) ;
if ( i >= k )
sol = sol + dq.front ( ) ;
}
fout << sol ;
return 0;
}