Pagini recente » Istoria paginii runda/bruh/clasament | Istoria paginii runda/simulareoji_2004_11-12 | Cod sursa (job #2309290) | Istoria paginii template/detailed-feedback | Cod sursa (job #1260819)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,i,p,u,d[5000001],v[5000001],sol;
int main()
{
fin>>n>>k;
for (i=1;i<=n;i++)
fin>>v[i];
d[1]=1;
p=1;
u=1;
for (i=2;i<=n;i++)
{
//introducem pe v[i]
while (p<=u && v[i] <= v[ d[u] ])
u--;
d[++u] = i;
if (i-d[p] == k)
p++;
if (i >= k) {
sol += v[d[p]];
}
}
fout<<sol;
return 0;
}