Cod sursa(job #1806908)
Utilizator | Data | 15 noiembrie 2016 20:20:26 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
int v[5000000], d[5000000], f=1, e=0, n, k;
long long sum=0;
int main()
{
ifstream in("deque.in");
in>>n>>k;
for(int i=0;i<n;i++){
in>>v[i];
while(f <= e && v[d[e]]>v[i]) e--;
d[++e] = i;
if(i-d[f]+1>k)f++;
if(i>=k-1)sum+=v[d[f]];
}
ofstream out("deque.out");
out<<sum;
return 0;
}