Pagini recente » Cod sursa (job #2509009) | Cod sursa (job #2326327) | Cod sursa (job #3038728) | Cod sursa (job #253321) | Cod sursa (job #2624851)
#include<fstream>
#define N 5000005
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,deq[N],pozitii[N],st,dr,inc;
long long raspuns=0;
int main()
{
fin>>n>>k;
fin>>deq[dr++];
for(int i=1; i<k; i++)
{
int element;
fin>>element;
while(st<dr&&element<deq[dr-1])
dr--;
deq[dr]=element;
pozitii[dr++]=i;
}
raspuns+=deq[st];
inc++;
if(pozitii[st]<inc)
st++;
for(int i=k; i<n; i++)
{
int element;
fin>>element;
while(st<dr&&element<deq[dr-1])
dr--;
deq[dr]=element;
pozitii[dr++]=i;
raspuns+=deq[st];
inc++;
if(pozitii[st]<inc)
st++;
}
fout<<raspuns;
return 0;
}