Cod sursa(job #384852)
| Utilizator | Data | 21 ianuarie 2010 12:31:37 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 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");
q>>n>>k;
v[1]=10000001;
for(i=1;i<k+1;i++)
{q>>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++;
q>>a;
c++;
while(a<v[c-1]&&c>l)
c--;
v[c]=a;
v1[c]=i;
s=s+v[l];}
w<<s;
return 0;}