Cod sursa(job #1054352)
| Utilizator | Data | 13 decembrie 2013 19:15:36 | |
|---|---|---|---|
| Problema | Deque | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.81 kb |
#include <cstdio>
#include <vector>
#include <set>
using namespace std;
multiset <int> h;
multiset <int> :: iterator it;
int a[5000001];
int main()
{
int n, k, i;
signed long long int s=0;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1; i<=n; i++) scanf("%d",&a[i]);
for (i=1; i<k; i++) h.insert(a[i]);
for (i=k; i<=n; i++)
{
h.insert(a[i]);
it=h.begin();
s+=*it;
h.erase(a[i-k+1]);
}
printf("%lld",s);
fclose(stdin);
fclose(stdout);
return 0;
}
