Pagini recente » Profil Florina | Cod sursa (job #3149098) | Cod sursa (job #2014635) | Clasament captainbobulous | Cod sursa (job #573868)
Cod sursa(job #573868)
#include <stdio.h>
#include <algorithm>
//#define max(a,b) (a>b)?a:b
//#define min(a,b) (a>b)?b:a
using namespace std;
int n;
int k;
int a[1000100];
int b[1000100];
int c[1000100];
int maxMijloc;
int maxFinal;
void citire()
{
scanf("%d %d",&n,&k);
int x;
int y;
scanf("%d",&y);
n--;
for(int i=0;i<n;i++)
{
x=y;
scanf("%d",&y);
a[i]=y-x;
}
for(int i=k-1;i>=0;i--)
b[i]=max(b[i+1],a[i]);
for(int i=n-k;i<n;i++)
c[i]=max(c[i-1],a[i]);
if(k*2>n)
maxMijloc=0;
else
for(int i=k,m=n-k;i<m;i++)
maxMijloc=max(maxMijloc,a[i]);
maxFinal=99999999;
for(int i=0;i<k;i++)
maxFinal=min(maxFinal,max(b[i],max(c[n-k+i-1],maxMijloc)));
if (maxFinal==99999999)
maxFinal=maxMijloc;
printf("%d",maxFinal);
}
int main()
{
freopen("knumere.in","r",stdin);
freopen("knumere.out","w",stdout);
citire();
return 0;
}