Pagini recente » Cod sursa (job #2944908) | Cod sursa (job #1182071) | Cod sursa (job #1588135) | Cod sursa (job #2944573) | Cod sursa (job #963323)
Cod sursa(job #963323)
#include<fstream>
using namespace std;
fstream in("deque.in",ios::in),out("deque.out",ios::out);
const int N=5000001;
int d[N],v[N],n,k,st=1,dr;
long long rez;
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=1;
for( ; i<=k ; i++){
dreapta(i);
d[++dr]=i;
}
rez+=v[d[st]];
for( ; i<=n ; i++){
stanga(i);
dreapta(i);
d[++dr]=i;
rez+=v[d[st]];
}
out<<rez;
return 0;
}