Pagini recente » Cod sursa (job #2113439) | Cod sursa (job #101875) | Cod sursa (job #746909) | Cod sursa (job #1456362) | Cod sursa (job #2702111)
#include <fstream>
#include <deque>
using namespace std;
int v[5000005];
deque<int>q;
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,poz=0;
long long sum=0;
fin>>n>>k;
for(int i=1;i<=k;i++)
{
fin>>v[i];
while(!q.empty()&&v[q.back()]>v[i])
{
q.pop_back();
}
q.push_back(i);
}
sum+=v[q.front()];
for(int i=k+1;i<=n;i++)
{
if(v[q.front()]==v[i-k])
{
q.pop_front();
}
fin>>v[i];
while(!q.empty()&&v[q.back()]>v[i])
{
q.pop_back();
}
q.push_back(i);
sum+=v[q.front()];
}
fout<<sum<<'\n';
return 0;
}