Pagini recente » links/carti | Cod sursa (job #2962553) | Profil BlackNesta | Cod sursa (job #2962485) | Cod sursa (job #235548)
Cod sursa(job #235548)
# include <cstdio>
# define FIN "deque.in"
# define FOUT "deque.out"
# define MAXN 5000005
int N, K, i, begin, end,rez;
int X[MAXN];
long long Deque[MAXN];
int main()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d%d",&N,&K);
for (i = 1; i <= N; ++i)
scanf("%d",&X[i]);
begin = 1; end = rez = 0;
for (i = 1; i <= N; ++i)
{
for (; begin <= end && X[Deque[end]] > X[i]; --end);
Deque[++end] = i;
if (Deque[begin] < i - K + 1) ++begin;
if (i >= K) rez += X[Deque[begin]];
}
printf("%lld",rez);
return 0;
}