Cod sursa(job #1322674)
| Utilizator | Data | 20 ianuarie 2015 11:43:17 | |
|---|---|---|---|
| Problema | Deque | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
#define maxn 500001
long long int sum=0;
int i,n,k,st=1,dr=0,deq[maxn],v[maxn];
int main()
{
fstream f("deque.in", ios::in);
fstream g("deque.out", ios::out);
f>>n>>k;
for (i=1;i<=n;i++)
{
f>>v[i];
while(dr>=st && v[i]<=v[deq[dr]])
dr--;
dr++;
deq[dr]=i;
if(deq[st]==i-k)
st++;
if(i>=k)
sum+=v[deq[st]];
}
g<<sum;
return 0;
}
