Mai intai trebuie sa te autentifici.
Cod sursa(job #464584)
| Utilizator | Data | 20 iunie 2010 22:39:34 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<fstream>
#include<deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
struct ind
{ long long val;
int i;
}x;
deque<ind>secv;
int k,i,n;
long long s;
int main()
{ f>>n>>k;
for(i=1;i<=n;i++)
{ f>>x.val; x.i=i;
while(!secv.empty() && secv.back().val>x.val)
secv.pop_back();
secv.push_back(x);
if(i-k>=secv.front().i)
secv.pop_front();
if(i>=k)
s+=secv.front().val;
}
g<<s;
f.close();
g.close();
return 0;
}