Cod sursa(job #1324500)

Utilizator goalexboxerFMI Alexandru Ionascu goalexboxer Data 22 ianuarie 2015 14:27:16
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<stdio.h>
#include<set>
#include<vector>
#define FIN "deque.in"
#define FOUT "deque.out"
#define MAX 5000000
using namespace std;


multiset<int> heap;
int arr[MAX];
long int sum;
unsigned int n,k;


int read()
{
    freopen(FIN,"r",stdin);
    freopen(FOUT,"w",stdout);
    scanf("%d %d ", &n, &k);

    for(int i=1;i<=n;i++)
    {
        scanf("%d", &arr[i]);
    }

    return 0;
}

int solve()
{
    for(int i=1;i<=k;i++)
        heap.insert(arr[i]);

    int index = k;

    while(index < n)
    {
        int minn = *heap.begin();
        sum += minn;

        heap.erase(arr[index - k]);
        heap.insert(arr[index - k + 1]);

        index++;

    }

    sum += *heap.begin();

    return 0;
}

int write()
{
    printf("%d", sum);
    return 0;
}

int main()
{
    read();
    solve();
    write();
}