Pagini recente » Cod sursa (job #2747912) | Cod sursa (job #2905044) | Cod sursa (job #2225280) | Cod sursa (job #2696500) | Cod sursa (job #2889448)
//#include <iostream>
//#include <fstream>
//using namespace std;
//
//ifstream f("deque.in");
//ofstream g("deque.out");
//int n,d[5000002],v[5000002],k,i=1,j,fr,m,mn=10000001,sum;
//
//int main() {
// f >> n >> k;
// while(i<=n)
// {
// f>>d[m];
// for(j=fr;j<=m;j++)
// {
// if (d[j] < mn)
// {
// mn = d[j];
// }
// }
// m++;
// if(i>=k)
// {
// sum+=mn;
// fr++;
// mn=d[fr];
// }
// i++;
// }
// g<<sum;
//
// return 0;
//}
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long n,d[5000002],v[5000002],k,fr=0,bk=-1,i,sum;
int main() {
f >> n >> k;
while(i<n)
{
f>>v[i];
while(fr<=bk && v[d[bk]]>v[i]){
bk--;
}
bk++;
d[bk]=i;
if(d[fr]==i-k){
fr++;
}
if(i>=k-1){
sum+=v[d[fr]];
}
i++;
}
g<<sum;
f.close();
g.close();
return 0;
}