Pagini recente » Cod sursa (job #920961) | Cod sursa (job #3262616) | Cod sursa (job #1520810) | Cod sursa (job #297221) | Cod sursa (job #3227561)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque <pair <int,int >> NinjaVerde;
int main()
{
int NinjaNegru, NinjaRosu;
long long NinjaAlb=0;
fin>>NinjaNegru>>NinjaRosu;
for(int LordulGarmadon=1;LordulGarmadon<=NinjaNegru; ++LordulGarmadon){
int NinjaAlbastru;
fin>>NinjaAlbastru;
while (!NinjaVerde.empty() and LordulGarmadon-NinjaVerde.front().second >= NinjaRosu) NinjaVerde.pop_front();
while (!NinjaVerde.empty() and NinjaVerde.back().first >= NinjaAlbastru) NinjaVerde.pop_back();
NinjaVerde.push_back({NinjaAlbastru, LordulGarmadon});
if(LordulGarmadon>=NinjaRosu){
NinjaAlb+=NinjaVerde.front().first;
}
}
fout<<NinjaAlb;
return 0;
}