Pagini recente » Cod sursa (job #1979195) | Cod sursa (job #2777030) | Cod sursa (job #1903649) | Cod sursa (job #43644) | Cod sursa (job #1046731)
#include<fstream>
#include<algorithm>
#define minini -10000001
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
struct dub{
int val,poz
};
int n,k,v[5000001],i,j,nr;
dub heap[5000001];
long long sum;
int minim(int a,int b)
{
if(a<b)
return a;
return b;
}
int main()
{
f>>n>>k;
heap[0]=minini;
for(i=1;i<=k;i++)
{
f>>v[i];
heap[i].val=v[i];
heap[i].poz=i;
j=i;
while(heap[j].val<heap[j/2].val)
{
swap(heap[j],heap[j/2]);
j/=2;
}
}
sum+=heap[1].val;
nr=k+1;
for(i=k+1;i<=n;i++)
{
f>>v[i];
heap[nr].val=v[i];heap[nr].poz=i;
j=i;
while(heap[j].val<heap[j/2].val)
{
swap(heap[j],heap[j/2]);
j/=2;
}
while(!(heap[1].poz>=i&&heap[1].poz<i+2))
{
swap
}
}
}