Pagini recente » Cod sursa (job #1278000) | Cod sursa (job #2140462) | Cod sursa (job #2187547) | Cod sursa (job #1255612) | Cod sursa (job #1090812)
#include <fstream>
using namespace std;
fstream f("deque.in",ios::in);
fstream g("deque.out",ios::out);
int n,k,i,inc,sf;
int a[5000005],deque[5000005],suma;
int main()
{
f>>n>>k;
for (i=1;i<=n;i++) f>>a[i];
inc=1;sf=0;
suma=0;
for (i=1;i<=n;i++)
{
while ((inc<=sf)&&(a[i]<=a[deque[sf]])) sf--;
sf++;
deque[sf]=i;
if(deque[inc]==i-k) inc++;
if (i>=k) suma=suma+a[deque[inc]];
}
g<<suma;
f.close();g.close();
return 0;
}