Pagini recente » Borderou de evaluare (job #2917793) | Borderou de evaluare (job #3189810) | Cod sursa (job #141755) | Borderou de evaluare (job #2401821) | Cod sursa (job #2400892)
#include <fstream>
using namespace std;
int v[50000001], D[5000001], i, n, k, p, u;
long long sol;
int main()
{
ifstream fin ("deque.in");
ofstream fout ("deque.out");
fin>>n>>k;
for (i=1; i<=n; i++)
fin>>v[i];
p=1;
u=0;
for (i=1; i<=n; i++)
{
while (p<=u && v[i]<=v[D[u]])
u--;
D[++u]=i;
if (D[p]==i-k)
p++;
if (i>=k)
sol+=v[D[p]];
}
fout<<sol;
}