Cod sursa(job #289074)
| Utilizator | Data | 26 martie 2009 13:22:49 | |
|---|---|---|---|
| Problema | Deque | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include<fstream.h>
ifstream fin("deque.in");
ofstream fout("deque.out");
long a[5000001],c[5000001],n,k,i,ic,sc;
double s;
int main()
{fin>>n>>k;
for (i=1;i<=n;i++)
fin>>a[i];
sc=0;ic=1;
for (i=1;i<=n;i++)
{while (ic<=sc&&a[c[sc]]>a[i]) sc--;
sc++;
c[sc]=i;
if (c[ic]==i-k) ic++;
if (i>=k)
s=s+a[c[ic]];
}
fout<<s;
fout.close();
return 0;}