Pagini recente » 16_februarie_simulare_oji_2024_clasa_10 | Cod sursa (job #3229529) | Cod sursa (job #2186178) | Cod sursa (job #796319) | Cod sursa (job #1248077)
#include <cstdio>
using namespace std;
int adev[5000001],v[5000001],z[5000001];
int main()
{ freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k,i,capat=0,s=0;
scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
{ scanf("%d",&v[i]);
}
i=0;
while(i<k)
{ int p=0;
z[i]=v[i];
if(z[i]<z[i-1] && i==capat)
{ z[i-1]=z[i];
z[i]=z[i+1];
adev[z[i-1]]=0;
p=1;
}
if(z[i]<z[i-1] && z[i]<z[i+1] && i!=capat)
{ z[i]=z[i+1];
adev[z[i]]=0;
p=1;
}
if(p==0)
{ s=s+z[i];
}
i++;
}
while(i<=n)
{ z[i]=v[i];
adev[z[i]]=1;
if(adev[z[i-k]])
{ capat++;
s=s+z[i-k];
}
if(z[i]<z[i-1] && i==capat)
{ z[i-1]=z[i];
z[i]=z[i+1];
adev[z[i-1]]=0;
}
if(z[i]<z[i-1] && z[i]<z[i+1] && i!=capat)
{ z[i]=z[i+1];
adev[z[i]]=0;
}
i++;
}
printf("%d",s);
return 0;
}