Pagini recente » Istoria paginii runda/concurs | Cod sursa (job #908431) | Cod sursa (job #1605791) | Monitorul de evaluare | Cod sursa (job #1262939)
#include <fstream>
#include <deque>
#define N 5000010
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long sol;
int n,i,x[N],k;
deque <int> q;
int main()
{
fin>>n>>k;
for(i=1;i<k;i++)
{
fin>>x[i];
while(q.size()&&x[i]<=x[q.back()])
q.pop_back();
q.push_back(i);
}
for(i=k;i<=n;i++)
{
fin>>x[i];
while(q.size()&&x[i]<=x[q.back()])
q.pop_back();
q.push_back(i);
if(q.front()==i-k)
q.pop_front();
sol+=x[q.front()];
}
fout<<sol;
return 0;
}