Pagini recente » Cod sursa (job #1223670) | Cod sursa (job #178688) | Cod sursa (job #1942273) | Cod sursa (job #3170250) | Cod sursa (job #2260356)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[5000004],vmin,n,k,i;
deque <int> c;
long long solutie;
int main()
{
fin>>n>>k;
for(i=1;i<=n;++i)
{
fin>>a[i];
}
vmin=10000005;
for(i=1;i<=k;++i)
{
while(c.size()>0&&a[i]<a[c.back()])
{
c.pop_back();
}
c.push_back(i);
}
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+=a[c.front()];
}
fout<<solutie;
fin.close();
fout.close();
return 0;
}