New start Day 2 (1/10/2020) codeforces 492B Vanya and Lantern
question: (source: https://codeforces.com/problemset/problem/492/B)
Vanya And Lantern
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<bits/stdc++.h> | |
#define ll long long int | |
#define li long int | |
#define pb push_back | |
#define mp make_pair | |
using namespace std; | |
void mergee(ll arr[],ll l,ll m,ll r) | |
{ | |
ll i,j,k; | |
ll n1=m-l+1; | |
ll n2=r-m; | |
ll L[n1]; | |
ll R[n2]; | |
for(i=0;i<n1;i++) | |
{ | |
L[i]=arr[l+i]; | |
} | |
for(j=0;j<n2;j++) | |
{ | |
R[j]=arr[m+j+1]; | |
} | |
i=0; | |
j=0; | |
k=l; | |
while(i<n1&&j<n2) | |
{ | |
if(L[i]<=R[j]) | |
{ | |
arr[k]=L[i]; | |
i++; | |
} | |
else | |
{ | |
arr[k]=R[j]; | |
j++; | |
} | |
k++; | |
} | |
while(i<n1) | |
{ | |
arr[k]=L[i]; | |
i++; | |
k++; | |
} | |
while(j<n2) | |
{ | |
arr[k]=R[j]; | |
j++; | |
k++; | |
} | |
} | |
void mergesort(ll l,ll r,ll arr[]) | |
{ | |
if(l<r) | |
{ | |
ll m=l+((r-l)/2); | |
mergesort(l,m,arr); | |
mergesort(m+1,r,arr); | |
mergee(arr,l,m,r); | |
} | |
} | |
int main() | |
{ | |
ll mod=1000000007; | |
ll t,n,i,j,k,l,sum=0,flag=0,m,q,temp; | |
cin>>n>>l; | |
ll arr[n]; | |
for(i=0;i<n;i++) | |
{ | |
cin>>arr[i]; | |
} | |
mergesort(0,n-1,arr); | |
ll maxdis=-1; | |
for(i=1;i<n;i++) | |
{ | |
if(arr[i]-arr[i-1]>maxdis) | |
{ | |
maxdis=arr[i]-arr[i-1]; | |
} | |
} | |
if(2*(arr[0]-0)>maxdis) | |
{ | |
maxdis=2*(arr[0]-0); | |
} | |
if(2*(l-arr[n-1])>maxdis) | |
{ | |
maxdis=2*(l-arr[n-1]); | |
} | |
double answer=(double)maxdis/(double)2; | |
printf("%.9f",answer); | |
return 0; | |
} |
Comments
Post a Comment