Pagini recente » Cod sursa (job #1889869) | Cod sursa (job #2211948) | Cod sursa (job #483890) | Cod sursa (job #2185059) | Cod sursa (job #963318)
Cod sursa(job #963318)
#include<fstream>
using namespace std;
fstream in ( "deque.in ", ios::in ),
out( "deque.out", ios::out);
int v[5000002], d[5000002], k, st=1, dr, n;
long long s;
void stanga ( int i ){
if( i-d[st] == k ){
st++;
}
}
void dreapta ( int i ){
while ( st<=dr && v[i]<=v[d[dr]]){
dr--;
}
}
int main(){
in >> n >> k;
for( int i=1 ; i<=n ; i++){
in >> v[i];
}
int i;
for( i=1 ; i<=k; i++) {
dreapta(i);
d[++dr]=i;
}
s+= v[d[st]];
for( i=k+1; i<=n; i++){
stanga(i);
dreapta(i);
d[++dr]=i;
s+= v[d[st]];
}
out << s ;
return 0;
}