Pagini recente » Cod sursa (job #2172267) | Cod sursa (job #61273) | Cod sursa (job #1780017) | Cod sursa (job #3199513) | Cod sursa (job #2078865)
#include <fstream>
using namespace std;
int n,k,Min,s,a[5000005],coada[5000005],i,j,p,u;
ifstream f("deque.in");
ofstream g("deque.out");
void citire()
{
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>a[i];
}
}
int rezolvare()
{
coada[1]=1;
p=u=1;
for(i=2;i<=n;i++)
{
j=u;
while(j>=p)
{
if(a[i]<a[coada[u]])
{
u--;
j--;
}
else break;
}
coada[++u]=i;
if(i==3)
{
s+=a[coada[p]];
if(coada[p]+k==i+1)p++;
}
else if(i>3)
{
s+=a[coada[p]];
if(coada[p]+k==i+1)p++;
}
}
return s;
}
int main()
{
citire();
g<<rezolvare()<<'\n';
return 0;
}