Cod sursa(job #239135)
| Utilizator | Data | 4 ianuarie 2009 11:21:57 | |
|---|---|---|---|
| Problema | Deque | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include<fstream>
using namespace std;
#define MAXN 11
int n,k,d[MAXN],poz[MAXN],v,u,inc;
int main(){
int i, x;
long long s=0;
ifstream f("deque.in");
f>>n>>k;
f>>d[u++];
for(i=1;i<k;i++){
f>>x;
while(v<u&&x<d[u-1]) u--;
d[u]=x;
poz[u++]=i;
}
s+=d[v];
inc++;
if(poz[v]<inc) v++;
for(i=k;i<n;i++){
f>>x;
while(v<u&&x<d[u-1]) u--;
d[u]=x;
poz[u++]=i;
s+=d[v];
inc++;
if(poz[v]<inc) v++;
}
f.close();
ofstream g("deque.out");
g<<s<<'\n';
g.close();
return 0;
}
