Cod sursa(job #2019978)
Utilizator | Data | 9 septembrie 2017 01:51:21 | |
---|---|---|---|
Problema | Deque | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int N , k, v[5000005];
long long S;
int main()
{f >> N >> k;
for(int i = 1 ; i <= N ; i++)
f >> v[i];
int pmin = 1 ;
for(int i = 1 ; i <= N ; i++){
if(v[i-1]>v[i] && v[pmin] > v[i]) pmin = i;
if(i >= k){ S = S + 1LL*min(v[pmin],v[i-k+1]); if(pmin==i-k+1) pmin = i; else { if(v[pmin] > v[i]) pmin = i;}}}
g << S;
return 0;
}