시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB127191414.737%

문제

상근이는 공항에서 수화물 찾는 곳의 원형 컨베이어 벨트에 짐이 충돌하지 짐을 놓는 일을 하고 있다. 모든 짐은 직선 컨베이어 벨트를 이용해서 운반되어 원형 컨베이어 벨트로 떨어지게 된다. 상근이는 직선 컨베이어 벨트의 속도를 조절해서 짐이 서로 충돌하지 않게 조절한다. 

상근이는 직선 컨베이어 벨트의 속도를 고정해놓은 다음 화장실을 다녀오려고 한다. 직선 컨베이어 벨트에는 센서가 있어, 상근이는 모든 짐의 위치를 알고 있다. 짐이 충돌하지 않는 직선 컨베이어 벨트의 최대 속도를 구하는 프로그램을 작성하시오.

원형 컨베이어 벨트는 1m/s 속도로 이동한다. 짐이 원형 컨베이어 벨트에 떨어졌을 때, 1m 내에 짐이 있다면, 그 짐과 충돌한다. 중간에 사람들이 짐을 집어갈 수 있지만, 어떤 짐을 집어가는지는 알 수 없기 때문에, 짐을 가져가는 경우는 없다고 가정한다. 직선 컨베이어 벨트는 0.1m/s와 10m/s 사이의 속도로 움직일 수 있다.

입력

첫째 줄에 짐의 수 N과 원형 컨베이어 벨트의 길이 L (1 ≤ N ≤ L ≤ 1000)이 주어진다. 둘째 줄에는 짐의 위치 (단위: 미터) xi가 주어진다. (0 ≤ xi ≤ 1000) xi는 소수점 둘째자리 까지 주어진다.

출력

모든 짐이 충돌하지 않는 최대 속도 v (단위: m/s)를 출력한다. 그러한 속도가 없는 경우에는 "no fika"를 출력한다. 정답과 절대 오차가 최대 10-9인 경우에 정답이다.

v가 정답인 경우에, 구간 [v-10-9, v]에 해당하는 속도도 올바른 정답이다.

예제 입력 1

2 3
0.00 2.00

예제 출력 1

2

예제 입력 2

3 4
0.05 1.00 3.50

예제 출력 2

0.5
W3sicHJvYmxlbV9pZCI6IjUwMTAiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWMyMThcdWQ2NTRcdWJiM2MiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzBjMVx1YWRmY1x1Yzc3NFx1YjI5NCBcdWFjZjVcdWQ1NmRcdWM1ZDBcdWMxMWMgXHVjMjE4XHVkNjU0XHViYjNjIFx1Y2MzZVx1YjI5NCBcdWFjZjNcdWM3NTggXHVjNmQwXHVkNjE1IFx1Y2VlOFx1YmNhMFx1Yzc3NFx1YzViNCBcdWJjYThcdWQyYjhcdWM1ZDAgXHVjOWQwXHVjNzc0IFx1Y2RhOVx1YjNjY1x1ZDU1OFx1YzljMCBcdWM5ZDBcdWM3NDQgXHViMTkzXHViMjk0IFx1Yzc3Y1x1Yzc0NCBcdWQ1NThcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWJhYThcdWI0ZTAgXHVjOWQwXHVjNzQwIFx1YzljMVx1YzEyMCBcdWNlZThcdWJjYTBcdWM3NzRcdWM1YjQgXHViY2E4XHVkMmI4XHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU3NFx1YzExYyBcdWM2YjRcdWJjMThcdWI0MThcdWM1YjQgXHVjNmQwXHVkNjE1IFx1Y2VlOFx1YmNhMFx1Yzc3NFx1YzViNCBcdWJjYThcdWQyYjhcdWI4NWMgXHViNWE4XHVjNWI0XHVjOWMwXHVhYzhjIFx1YjQxY1x1YjJlNC4gXHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IFx1YzljMVx1YzEyMCBcdWNlZThcdWJjYTBcdWM3NzRcdWM1YjQgXHViY2E4XHVkMmI4XHVjNzU4IFx1YzE4ZFx1YjNjNFx1Yjk3YyBcdWM4NzBcdWM4MDhcdWQ1NzRcdWMxMWMgXHVjOWQwXHVjNzc0IFx1YzExY1x1Yjg1YyBcdWNkYTlcdWIzY2NcdWQ1NThcdWM5YzAgXHVjNTRhXHVhYzhjIFx1Yzg3MFx1YzgwOFx1ZDU1Y1x1YjJlNC4mbmJzcDs8XC9wPlxyXG5cclxuPHA+XHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IFx1YzljMVx1YzEyMCBcdWNlZThcdWJjYTBcdWM3NzRcdWM1YjQgXHViY2E4XHVkMmI4XHVjNzU4IFx1YzE4ZFx1YjNjNFx1Yjk3YyBcdWFjZTBcdWM4MTVcdWQ1NzRcdWIxOTNcdWM3NDAgXHViMmU0XHVjNzRjIFx1ZDY1NFx1YzdhNVx1YzJlNFx1Yzc0NCBcdWIyZTRcdWIxNDBcdWM2MjRcdWI4MjRcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWM5YzFcdWMxMjAgXHVjZWU4XHViY2EwXHVjNzc0XHVjNWI0IFx1YmNhOFx1ZDJiOFx1YzVkMFx1YjI5NCBcdWMxM2NcdWMxMWNcdWFjMDAgXHVjNzg4XHVjNWI0LCBcdWMwYzFcdWFkZmNcdWM3NzRcdWIyOTQgXHViYWE4XHViNGUwIFx1YzlkMFx1Yzc1OCBcdWM3MDRcdWNlNThcdWI5N2MgXHVjNTRjXHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHVjOWQwXHVjNzc0IFx1Y2RhOVx1YjNjY1x1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTQgXHVjOWMxXHVjMTIwIFx1Y2VlOFx1YmNhMFx1Yzc3NFx1YzViNCBcdWJjYThcdWQyYjhcdWM3NTggXHVjZDVjXHViMzAwIFx1YzE4ZFx1YjNjNFx1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG5cclxuPHA+XHVjNmQwXHVkNjE1IFx1Y2VlOFx1YmNhMFx1Yzc3NFx1YzViNCBcdWJjYThcdWQyYjhcdWIyOTQgMW1cL3MgXHVjMThkXHViM2M0XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1Y1x1YjJlNC4gXHVjOWQwXHVjNzc0IFx1YzZkMFx1ZDYxNSBcdWNlZThcdWJjYTBcdWM3NzRcdWM1YjQgXHViY2E4XHVkMmI4XHVjNWQwIFx1YjVhOFx1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIDFtIFx1YjBiNFx1YzVkMCBcdWM5ZDBcdWM3NzQgXHVjNzg4XHViMmU0XHViYTc0LCBcdWFkZjggXHVjOWQwXHVhY2ZjIFx1Y2RhOVx1YjNjY1x1ZDU1Y1x1YjJlNC4gXHVjOTExXHVhYzA0XHVjNWQwIFx1YzBhY1x1Yjc4Y1x1YjRlNFx1Yzc3NCBcdWM5ZDBcdWM3NDQgXHVjOWQxXHVjNWI0XHVhYzA4IFx1YzIxOCBcdWM3ODhcdWM5YzBcdWI5Y2MsIFx1YzViNFx1YjVhNCBcdWM5ZDBcdWM3NDQgXHVjOWQxXHVjNWI0XHVhYzAwXHViMjk0XHVjOWMwXHViMjk0IFx1YzU0YyBcdWMyMTggXHVjNWM2XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVjOWQwXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YWMwMFx1YjI5NCBcdWFjYmRcdWM2YjBcdWIyOTQgXHVjNWM2XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU1Y1x1YjJlNC4gXHVjOWMxXHVjMTIwIFx1Y2VlOFx1YmNhMFx1Yzc3NFx1YzViNCBcdWJjYThcdWQyYjhcdWIyOTQgMC4xbVwvc1x1YzY0MCAxMG1cL3MgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YzE4ZFx1YjNjNFx1Yjg1YyBcdWM2YzBcdWM5YzFcdWM3N2MgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjOWQwXHVjNzU4IFx1YzIxOCBOXHVhY2ZjIFx1YzZkMFx1ZDYxNSBcdWNlZThcdWJjYTBcdWM3NzRcdWM1YjQgXHViY2E4XHVkMmI4XHVjNzU4IFx1YWUzOFx1Yzc3NCBMICgxICZsZTsgTiAmbGU7IEwgJmxlOyAxMDAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjQ1OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjOWQwXHVjNzU4IFx1YzcwNFx1Y2U1OCAoXHViMmU4XHVjNzA0OiBcdWJiZjhcdWQxMzApIHg8c3ViPmk8XC9zdWI+XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDAgJmxlOyB4PHN1Yj5pPFwvc3ViPiAmbGU7IDEwMDApIHg8c3ViPmk8XC9zdWI+XHViMjk0IFx1YzE4Y1x1YzIxOFx1YzgxMCBcdWI0NThcdWM5ZjhcdWM3OTBcdWI5YWMgXHVhZTRjXHVjOWMwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWJhYThcdWI0ZTAgXHVjOWQwXHVjNzc0IFx1Y2RhOVx1YjNjY1x1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTQgXHVjZDVjXHViMzAwIFx1YzE4ZFx1YjNjNCB2IChcdWIyZThcdWM3MDQ6IG1cL3MpXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHViN2VjXHVkNTVjIFx1YzE4ZFx1YjNjNFx1YWMwMCBcdWM1YzZcdWIyOTQgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0ICZxdW90O25vIGZpa2EmcXVvdDtcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWM4MTVcdWIyZjVcdWFjZmMgXHVjODA4XHViMzAwIFx1YzYyNFx1Y2MyOFx1YWMwMCBcdWNkNWNcdWIzMDAgMTA8c3VwPi05PFwvc3VwPlx1Yzc3OCBcdWFjYmRcdWM2YjBcdWM1ZDAgXHVjODE1XHViMmY1XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD52XHVhYzAwIFx1YzgxNVx1YjJmNVx1Yzc3OCBcdWFjYmRcdWM2YjBcdWM1ZDAsIFx1YWQ2Y1x1YWMwNCBbdi0xMDxzdXA+LTk8XC9zdXA+LCB2XVx1YzVkMCBcdWQ1NzRcdWIyZjlcdWQ1NThcdWIyOTQgXHVjMThkXHViM2M0XHViM2M0IFx1YzYyY1x1YmMxNFx1Yjk3OCBcdWM4MTVcdWIyZjVcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiNTAxMCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ikx1Z2dhZ2UiLCJkZXNjcmlwdGlvbiI6IjxwPkpvaGFuIGhhcyBhIHJlYWxseSBib3Jpbmcgam9iIGF0IHRoZSBhaXJwb3J0LiBJdCBpcyBoaXMgZHV0eSB0byBtYWtlIHN1cmUgbm8gYmFncyBjb2xsaWRlIHdoZW4gc2xpZGluZyBvbnRvIHRoZSBjaXJjdWxhciBjb252ZXlvciBiZWx0IGluIHRoZSBsdWdnYWdlIHBpY2stdXAgem9uZS4gQWxsIHBpZWNlcyBvZiBsdWdnYWdlIGFyZSBsb2FkZWQgb250byBhIHN0cmFpZ2h0IGNvbnZleWVyIGJlbHQgd2hpY2ggZW5kcyBhYm92ZSB0aGUgY2lyY3VsYXIgJm5ic3A7Y29udmV5b3IgYmVsdC4gSm9oYW4gaXMgdGhlbiBtYW51YWxseSB2YXJ5aW5nIHRoZSBzcGVlZCBvZiB0aGUgc3RyYWlnaHQgY29udmV5b3Igc28gdGhhdCBubyBjb2xsaXNpb25zIG9jY3VyLiBIZSB3b3VsZCByYXRoZXIgc2V0IGEgY29uc3RhbnQgc3BlZWQgc28gdGhhdCBoZSBjYW4gZ28gdG8gdGhlIFx1ZmIwMWthIHJvb20uIFRoZXJlIGlzIGEgc2Vuc29yIGF0IHRoZSBzdGFydCBvZiB0aGUgbG9uZyBjb252ZXlvciBiZWx0IHNvIHRoYXQgaGUgY2FuIGdldCB0aGUgcG9zaXRpb25zIG9mIGFsbCBwaWVjZXMgb2YgbHVnZ2FnZSBpbnRvIGhpcyBjb21wdXRlci4gTm93IGFsbCBoZSBuZWVkcyBpcyBhIHByb2dyYW0gZ2l2aW5nIGhpbSB0aGUgbWF4aW11bSBzcGVlZCB0aGF0IHdpbGwgYXZvaWQgYWxsIGNvbGxpc2lvbnMuPFwvcD5cclxuXHJcbjxwPlRoZSBjaXJjdWxhciBjb252ZXlvciBiZWx0IG1vdmVzIGF0IGEgY29uc3RhbnQgc3BlZWQgb2YgMSBtXC9zLiBJZiBhIHBpZWNlIG9mIGx1Z2dhZ2UgaXMgZHJvcHBlZCBvbiB0aGUgY2lyY3VsYXIgYmVsdCB3aXRoaW4gb25lIG1ldGVyIG9mIHRoZSBwb3NpdGlvbiBvZiBhbiBvdGhlciBwaWVjZSBvZiBsdWdnYWdlIHRoZXkgbWF5IGNvbGxpZGUsIHNvIHRoaXMgc2hvdWxkIGJlIGF2b2lkZWQuIFNvbWUgYmFncyBtaWdodCBiZSBwaWNrZWQgdXAgb24gdGhlIFx1ZmIwMXJzdCByb3VuZCwgYnV0IHlvdSBjYW4gbm90IGtub3cgaW4gYWR2YW5jZSB3aGljaCB3aWxsIGJlIGxlZnQuIFRoZSBzdHJhaWdodCBjb252ZXlvciBjYW4gYmUgc2V0IHRvIGFueSBzcGVlZCBiZXR3ZWVuIDAuMSBtXC9zIGFuZCAxMCBtXC9zLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIFx1ZmIwMXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIHR3byBwb3NpdGl2ZSBpbnRlZ2VycyBOIGFuZCBMICgxICZsZTsgTiAmbGU7IEwgJmxlOyAxMDAwKSwgd2hlcmUgTiBpcyB0aGUgbnVtYmVyIG9mIHBpZWNlcyBvZiBsdWdnYWdlIGFuZCBMIGlzIHRoZSBsZW5ndGggb2YgdGhlIGNpcmN1bGFyIGNvbnZleW9yIGJlbHQgaW4gbWV0ZXJzLiBUaGUgc2Vjb25kIGxpbmUgY29udGFpbnMgTiB1bmlxdWUgc3BhY2Utc2VwYXJhdGVkIG51bWJlcnMgeDxzdWI+aTxcL3N1Yj4gKDAgJmxlOyB4PHN1Yj5pPFwvc3ViPiAmbGU7IDEwMDApIHdpdGggdHdvIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCwgZGVub3RpbmcgbHVnZ2FnZSBwb3NpdGlvbnMgaW4gbWV0ZXJzLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPk91dHB1dCB0aGUgbWF4aW11bSBzcGVlZCB2IGluIG1cL3MgKDAuMSAmbGU7IHYgJmxlOyAxMCkgdGhhdCBtYWtlcyBzdXJlIG5vIGNvbGxpc2lvbnMgd2lsbCBvY2N1ciwgb3IgJmxkcXVvO25vIGZpa2EmcmRxdW87IGlmIHRoZXJlIGlzIG5vIHN1Y2ggc3BlZWQuIFRoZSBhbnN3ZXIgaXMgY29uc2lkZXJlZCBjb3JyZWN0IGlmIGl0IGhhcyBhbiBhYnNvbHV0ZSBlcnJvciBvZiBhdCBtb3N0IDEwPHN1cD4mbWludXM7OTxcL3N1cD4uPFwvcD5cclxuXHJcbjxwPllvdSBtYXkgYXNzdW1lIHRoYXQgd2hlbiBhbiBvcHRpbWFsIHYgZXhpc3RzLCBlYWNoIHNwZWVkIGluIHRoZSBpbnRlcnZhbCBbdiAmbWludXM7IDEwPHN1cD4mbWludXM7OTxcL3N1cD4sIHZdIHdpbGwgYWxzbyBiZSBhIHZhbGlkIHNwZWVkLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=