Pagini recente » Cod sursa (job #1531072) | Cod sursa (job #1236799) | Cod sursa (job #272664) | Cod sursa (job #1263989) | Cod sursa (job #2260366)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[5000004],n,k,i;
deque <int> c;
long long solutie;
int main()
{
fin>>n>>k;
for(i=1;i<=n;++i)
{
fin>>a[i];
}
for(i=1;i<=k;++i)
{
while(c.size()>0&&a[i]<=a[c.back()])
{
c.pop_back();
}
c.push_back(i);
}
solutie=solutie+a[c.front()];
for(i=k+1;i<=n;++i)
{
while(a[i]<=a[c.back()]&&c.size()>0)
{
c.pop_back();
}
c.push_back(i);
if(i-c.front()>=k)
{
c.pop_front();
}
solutie=(long long)solutie+a[c.front()];
}
fout<<solutie;
fin.close();
fout.close();
return 0;
}