Cod sursa(job #1836371)
Utilizator | Lieb Hanna Hanna | Data | 28 decembrie 2016 12:22:57 |
---|---|---|---|
Problema | Deque | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int n,k,a;
struct adat
{
int s,i;
};
deque <adat> x;
int main()
{
cin>>n>>k;
int o=0;
for(int i=1;i<=n;i++)
{
cin>>a;
while(a<=x.back().s && !x.empty())
x.pop_back();
adat valt;
valt.s = a;
valt.i = i;
x.push_back(valt);
while(x.front().i < i-k+1) x.pop_front();
if(i>=k) o+=x.front().s;
}
cout<<o<<"\n";
return 0;
}