Pagini recente » Borderou de evaluare (job #3095239) | Profil whitehood15 | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1315653)
#include<fstream>
#include<deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,x;
long long s;
deque<int>val,poz;
int main()
{
f>>n>>k;
for(int i=1;i<=k;i++)
{
f>>x;
while(val.size()&&x<val[val.size()-1])
{
val.pop_back();
poz.pop_back();
}
val.push_back(x);
poz.push_back(i);
}
s=val[0];
for(int i=k+1;i<=n;i++)
{
f>>x;
while(val.size()&&x<val[val.size()-1])
{
val.pop_back();
poz.pop_back();
}
val.push_back(x);
poz.push_back(i);
if(poz[0]<=i-k)
{
val.pop_front();
poz.pop_front();
}
s+=val[0];
}
g<<s;
f.close();g.close();
return 0;
}