Pagini recente » Cod sursa (job #1289241) | Cod sursa (job #135869) | Cod sursa (job #2600787) | Cod sursa (job #1488848) | Cod sursa (job #2232502)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,Front,Back,Deque[5000005],i,j,a[5000005],mini;
long long s;
int main()
{
fin>>n>>k;
Front=0; Back=1;
for(i=1;i<k;i++)
{
fin>>a[i];
Deque[++Front]=a[i];
}
for(;i<=n;i++)
{
fin>>a[i];
if(a[i]<Deque[Front]) Deque[Front]=a[i];
else Deque[++Front]=a[i];
mini=Deque[Back];
for(j=Back+1;j<=Front;j++) mini=min(mini,Deque[j]);
s+=mini;
if(Deque[Back]==a[i-2]) Back++;
}
fout<<s;
return 0;
}