Cod sursa(job #1313148)
| Utilizator | Data | 10 ianuarie 2015 12:45:32 | |
|---|---|---|---|
| Problema | Deque | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
#define M 5000005
int a,n,k,i, dq[M], poz[M], first, last ;
long long rez;
ifstream f1("deque.in");
ofstream f2("deque.out");
int main()
{
f1>>n>>k;
for (i=1, first=1; i<=n; i++)
{ f1>>a;
while (dq[last]>a && last>0 )
last--;
dq[++last]=a;
poz[last]=i;
if (i>=k)
{
if (poz[first]== i-k )
first++;
rez+= dq[first];
}
}
f2<<rez;
f2.close();
return 0;
}
