Pagini recente » Squirrel | Diferente pentru problema/teroristi2 intre reviziile 4 si 5 | Cod sursa (job #2297445) | Diferente pentru problema/imunitate intre reviziile 1 si 2 | Cod sursa (job #1588645)
#include <fstream>
#include <deque>
using namespace std;
ifstream fi ("deque.in");
ofstream fo ("deque.out");
long long n,l,s,k,i,a[5000007];
deque<int>dq;
deque<int>::iterator it;
int main()
{
fi>>n>>k;
for (i=1;i<=n;i++) fi>>a[i];
for (i=1;i<=n;i++)
{
while (!dq.empty())
if (dq.back()+k-1<i) dq.pop_back();
else break;
while (!dq.empty())
if (a[i]<a[dq.front()]) dq.pop_front();
else break;
dq.push_front(i);
if (i>=k) s=s+a[dq.back()];
}
fo<<s;
return 0;
}