Pagini recente » Cod sursa (job #250335) | Cod sursa (job #719665) | Cod sursa (job #179539) | Cod sursa (job #55674) | Cod sursa (job #469998)
Cod sursa(job #469998)
#include<fstream>
#include<iostream.h>
using namespace std;
long long c[5000001],a[5000001],s;
int main()
{ifstream f("deque.in");
ofstream g("deque.out");
long long n,i,k,p,u;
f>>n>>k;
p=1;u=0;
for(i=1;i<=n;i++)
{ f>>a[i];
//cout<<"ai="<<a[i]<<'\n';
while(p<=u && a[i]<=a[c[u]])
{//cout<<"scot "<<c[u]<<'\n';
//c[u]=0;
u--;
}
u++;
c[u]=i;
//cout<<"adaug "<<i<<'\n';
if(c[p]==i-k){c[p]=0;p++;}
if(i>=k)
{s=s+a[c[p]];
//cout<<"adun "<<a[c[p]]<<'\n';
}
}
g<<s<<'\n';
}