Cod sursa(job #656852)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 5 ianuarie 2012 13:50:11
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
#define l 5000000
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,i,a[l],d[l],sus,jos,s,k;
int main()
{
  f>>n>>k;
for(i=1;i<=n;i++) f>>a[i];


jos=1,sus=0;

for(i=1;i<=n;i++)
{
 while (jos<=sus&&a[i]<=a[d[sus]]) sus--;

 d[++sus]=i;

 if(d[jos]==i-k) jos++;

 if (i>=k) s+=a[d[jos]];
}
  g<<s;

  f.close();
  g.close();
    return 0;
}