Pagini recente » Cod sursa (job #856247) | Cod sursa (job #3170136) | Cod sursa (job #2077240) | Cod sursa (job #1062525) | Cod sursa (job #528906)
Cod sursa(job #528906)
#include <fstream>
#include <deque>
#define nmax 5000002
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int a[nmax],i,n,k,sum;
void citire ()
{
f>>n>>k;
for (i=1; i<=n; i++)
f>>a[i];
f.close ();
}
void solve ()
{
deque <int> q;
for (i=1; i<=n; i++)
{
while (!q.empty() && a[i]<=a[q.back()]) q.pop_back();
q.push_back (i);
if (q.front ()==i-k)
q.pop_front ();
if (i>=k) sum+=a[q.front()];
}
}
void afisare ()
{
g<<sum;
g.close ();
}
int main ()
{
citire ();
solve ();
afisare ();
return 0;
}