Cod sursa(job #239141)

Utilizator MciprianMMciprianM MciprianM Data 4 ianuarie 2009 11:24:56
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std;
#define MAXN  5000010
int n,k,d[MAXN],poz[MAXN],v,u,inc;
int main(){
  int i, x;
  long long s=0;
  
  ifstream f("deque.in");
  f>>n>>k;
  f>>d[u++];
  for(i=1;i<k;i++){
    f>>x;
    while(v<u&&x<d[u-1])  u--;
    d[u]=x;
    poz[u++]=i;
  }
  s+=d[v];
  inc++;
  if(poz[v]<inc)  v++;
  for(i=k;i<n;i++){
    f>>x;
    while(v<u&&x<d[u-1])  u--;
    d[u]=x;
    poz[u++]=i;
    s+=d[v];
    inc++;
    if(poz[v]<inc)  v++;
  }
  f.close();
  ofstream g("deque.out");
  g<<s<<'\n';
  g.close();
  return 0;
}