Cod sursa(job #384849)
| Utilizator | Data | 21 ianuarie 2010 11:43:16 | |
|---|---|---|---|
| Problema | Deque | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream.h>
long v[5000001],v1[5000001]; //000
long long s;
int main()
{long n,k,i,c=0,j,a,l;
ifstream q("deque.in");
ofstream w("deque.out");
cin>>n>>k;
v[1]=10000001;
for(i=1;i<k+1;i++)
{cin>>a;
c++;
while(a<v[c-1]&&c>1)
c--;
v[c]=a;
v1[c]=i;
}
s=v[1];
l=1;
for(i=i;i<n+1;i++)
{if(v1[l]==i-k)
l++;
cin>>a;
c++;
while(a<v[c-1]&&c>l)
c--;
v[c]=a;
v1[c]=i;
s=s+v[l];}
cout<<s;
return 0;}