Pagini recente » Cod sursa (job #3142441) | Cod sursa (job #2584781) | Cod sursa (job #1964333) | Cod sursa (job #152265) | Cod sursa (job #1323101)
#include<stdio.h>
#include<deque>
#include<vector>
#define FIN "deque.in"
#define FOUT "deque.out"
#define MAX 5000000
using namespace std;
deque<int> v;
vector<int> minNum;
int arr[MAX];
long int sum;
unsigned int n,k;
int read()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d ", &n, &k);
for(int i=1;i<=n;i++)
{
scanf("%d", &arr[i]);
}
return 0;
}
int solve()
{
for(int i=1;i<=k;i++)
v.push_back(arr[i]);
int index = k;
while(index < n)
{
int minn = *v.begin();
for(deque<int>::iterator it = v.begin(); it != v.end(); it++)
{
if(minn > *it)
minn = *it;
}
minNum.push_back(minn);
v.push_back(arr[index+1]);
v.pop_front();
index++;
}
int minn = *v.begin();
for(deque<int>::iterator it = v.begin(); it != v.end(); it++)
{
if(minn > *it)
minn = *it;
}
minNum.push_back(minn);
for(vector<int>::iterator it = minNum.begin(); it != minNum.end(); it++)
{
sum += *it;
}
return 0;
}
int write()
{
printf("%d", sum);
return 0;
}
int main()
{
read();
solve();
write();
}