Pagini recente » Cod sursa (job #2780162) | Cod sursa (job #262697) | Cod sursa (job #2101018) | Cod sursa (job #104333) | Cod sursa (job #633978)
Cod sursa(job #633978)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
deque <int> Deque,index;
int n,k;
int main()
{int i,val;
long long sum=0;
ifstream f ("deque.in");
f>>n>>k;
for (i=1;i<=n;i++)
{ f>>val;
while (!Deque.empty() && val<=Deque.back())
{Deque.pop_back();
index.pop_back();
}
Deque.push_back (val);
index.push_back (i);
if (index.front()==i-k)
{Deque.pop_front ();
index.pop_front();
}
if (i>=k) sum=sum+Deque.front ();
}
ofstream g ("deque.out");
g<<sum;
cout<<sum;
return 0;
}