Pagini recente » Cod sursa (job #1642796) | Cod sursa (job #614598) | Cod sursa (job #822180) | Cod sursa (job #720151) | Cod sursa (job #825260)
Cod sursa(job #825260)
#include<stdio.h>
#include<queue>
using namespace std;
FILE *f = fopen("deque.in","r");
FILE *g = fopen("deque.out","w");
#define ll long long
int N,K;
ll Sol;
priority_queue<pair<int,int> > Q;
void citire(void)
{
fscanf(f,"%d %d",&N,&K);
}
void Rezolvare(void)
{
int a;
for(int i=1;i<=K;i++)
{
fscanf(f,"%d",&a);
Q.push(make_pair(-a,i));
}
for(int i=K+1;i<=N+1;i++)
{
for(;Q.top().second < i-K;Q.pop());
Sol += 1LL*-Q.top().first;
fscanf(f,"%d",&a);
Q.push(make_pair(-a,i));
}
}
int main()
{
citire();
Rezolvare();
fprintf(g,"%lld\n",Sol);
}