Cod sursa(job #1681741)
| Utilizator | Data | 9 aprilie 2016 18:07:13 | |
|---|---|---|---|
| Problema | Deque | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,v[5000009],minn,sol[5000009],i,j;
long long s;
int main()
{
int inc=1,fin=0;
f>>n>>k;
for (i=1;i<=n;i++)
f>>v[i];
s=0;
for (i=1;i<=k;i++)
{
while(inc<=fin&&v[i]<sol[fin])
fin--;
sol[++fin]=v[i];
}
s+=sol[inc];
for(i=1;i<=n;i++)
{
while(inc<=fin&&v[i]<sol[fin])
fin--;
sol[++fin]=v[i];
if(sol(inc)==v[i-k])
inc++;
s+=sol[inc];
}
g<<s;
f.close();
g.close();
return 0;
}
