Cod sursa(job #1641095)
| Utilizator | Data | 8 martie 2016 20:55:52 | |
|---|---|---|---|
| Problema | Deque | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int Deque[5000010],fata,spate,i,v[5000010],n,k;
unsigned long long S;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
fata=1;spate=0;
for(i=1;i<=n;i++)
{
while(fata<=spate && v[i]<=v[Deque[spate]])
spate--;
Deque[++spate]=i;
if(Deque[fata]==i-k)
fata++;
if(i>=k)
S+=v[Deque[fata]];
}
fout<<S;
return 0;
}
