Pagini recente » Cod sursa (job #162121) | Cod sursa (job #392625) | Cod sursa (job #2236474) | Cod sursa (job #46764) | Cod sursa (job #562270)
Cod sursa(job #562270)
#include<fstream>
#include<deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,c,a,e,ok;
long long s;
deque<int> d,v;
deque<int>::iterator it,o;
int main()
{ int i;
f>>n>>k;
for(i=0;i<n;i++)
{ f>>a;
while(!d.empty()&&d.back()>=a) d.pop_back();
d.push_back(a);
v.push_back(a);
if(i>=k)
{ ok=0;
if(i>k) v.pop_front();
while(!ok)
{ ok=1;
it=v.begin();
o=v.end();
e=d.front();
while(*it!=e&&it!=o) ++it;
if(it==o) d.pop_front(),ok=0;
}
s+=d.front();
}
}
g<<s<<'\n';
f.close(); g.close();
return 0;
}