Pagini recente » Cod sursa (job #725365) | Cod sursa (job #1018030) | Cod sursa (job #2975977) | Cod sursa (job #1334586) | Cod sursa (job #820893)
Cod sursa(job #820893)
#include <fstream>
#include<stdio.h>
#define N 100000
using namespace std;
/*
ifstream f("pod.in");
ofstream h("pod.out");
*/
int n,i,v[N],p,x,b;
int h;
void afis(int r){
int i,u;
for(i=2;i<=r;i++)
if(v[i]-v[u]<r)
h = 1;
else {
h ^= h;
u=i;
}
}
bool se_poate(int d){
int u=1,l,nr=0;
for(l=2;l<=x;l++){
if(v[l]-v[u]<d)
continue;
nr++;
u=l;
if(nr==p)
return true;
}
return false;
}
int ch(){
int j,pas=1<<23;
for(j=0;pas;pas/=2)
if(se_poate(i+pas))i+=pas;
return i;
}
int main()
{
freopen("afis.in","r",stdin);
freopen("afis.out","w",stdout);
scanf("%d%d%d",&n, &p, &x);
//f>>n>>p>>x;
for(i=1;i<=x;i++){
//f>>v[i];
scanf("%d",&v[i]);
}
ch();
afis(x);
return 0;
}