Cod sursa(job #1306141)
Utilizator | Data | 30 decembrie 2014 16:47:44 | |
---|---|---|---|
Problema | Deque | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
using namespace std;
int main()
{
ifstream f("deque.in");
ofstream g("deque.out");
long n,k,i,a=1,b=0,t[50000],d[50000];
long long o=0;
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>t[i];
while(a<=b&&t[i]<=t[d[b]])
b--;
d[++b]=i;
if(d[a]==i-k)
a++;
if(i>=k)
o+=t[d[a]];
}
g<<o;
f.close();
g.close();
return 0;
}