Cod sursa(job #1313167)
| Utilizator | Data | 10 ianuarie 2015 12:58:11 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 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>=first )
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;
}
