Pagini recente » Atasamentele paginii s-a_esuat | Cod sursa (job #1179212) | Cod sursa (job #2404587) | Monitorul de evaluare | Cod sursa (job #1779117)
#include<fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int v[5000002],d[5000002];
int main(){
long long n,i,S,pr,ul,k;
fin>>n;
fin>>k;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
pr=1;ul=1;d[1]=1;
for(i=2;i<=k;i++)
{
while(pr<=ul&&v[d[ul]]>=v[i])
ul--;
ul++;
d[ul]=i;
}
S=v[d[pr]];
for(i=2;i<=n-k+1;i++)
{
if(d[pr]==i-1) pr++;
while(pr<=ul&&v[d[ul]]>=v[i+k-1])
ul--;
ul++;
d[ul]=i+k-1;
S=S+v[d[pr]];
}
fout<<S;
fin.close();
fout.close();
return 0;
}