Pagini recente » Cod sursa (job #2775839) | Cod sursa (job #284274) | Cod sursa (job #1588366) | Cod sursa (job #1582020) | Cod sursa (job #1861669)
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct RaresHolmes{
int val,poz;
}a;
int n, k,smin,i,capat1,capat2;
deque <RaresHolmes> q;
int main()
{
fin >> n >> k;
for(int i = 1; i <= k; i++)
{
fin >>a.val;
a.poz=i;
while(!q.empty()&&q.back().val>a.val)
q.pop_back();
q.push_back(a);
}
smin=q.front().val;
capat1=1;capat2=k;
for(i=k+1;i<=n;i++)
{
fin>>a.val;a.poz=i;capat1++;capat2++;
if(q.front().poz<capat1)
q.pop_front();
while(!q.empty()&&q.back().val>a.val)
q.pop_back();
q.push_back(a);
smin+=q.front().val;
}
fout<<smin<<'\n';
return 0;
}