Pagini recente » Diferente pentru olimpici intre reviziile 38 si 180 | Cod sursa (job #167746) | Istoria paginii utilizator/lahayon | Monitorul de evaluare | Cod sursa (job #1691736)
#include <fstream>
#define NMAX 5000005
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long n,k,i,v[NMAX],p[NMAX],a,b;
long long s;
int main()
{fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
b=0;a=1;
for(i=1;i<=n;i++)
{while(a<=b && v[i]<=v[p[b]])b--;
p[++b]=i;
if(p[a]==i-k) a++;
if(i>=k)s+=v[p[a]];
}
fout<<s;
return 0;
}