กำหนดลำดับหลักของตัวเลข n ตัว ( ประกอบด้วย 1 ถึง n และไม่ซ้ำกัน ) จงหาว่ามีลำดับย่อยที่มีค่ามัธยฐานเท่ากับ k ทั้งสิ้นกี่ลำดับ
กำหนดให้ลำดับย่อยมีคุณสมบัติดังนี้
1. ประกอบด้วยตัวเลข m ตัว โดยเริ่มตั้งแต่ตัวเลขที่ i ถึงตัวเลขที่ i+m-1 ของลำดับหลัก เมื่อ i เป็นจำนวนนับใดๆ ที่ 1 < i < n และ i+m-1 < n
2. m เป็นเลขคี่
3. ค่ามัธยฐานของลำดับย่อย คือ ค่าของตัวเลขที่มีค่าเป็นลำดับ (m+1)/2 เมื่อนำตัวเลขในลำดับย่อยมาเรียงจากน้อยไปมาก
ข้อมูลนำเข้า
บรรทัดแรกประกอบด้วยจำนวนนับ n และ k แทนจำนวนตัวเลขในลำดับหลัก และ ค่ามัธยฐานที่ต้องการทราบจำนวน ( 1 < k < n < 1000 000 )
บรรทัดที่ 2 ถึง 1+n แต่ละบรรทัดจะประกอบด้วยเลขโดด 1 จำนวน โดยในบรรที่ 1+i จะแสดงค่าของเลขลำดับที่ i ในลำดับหลัก
ข้อมูลส่งออก
บรรทัดแรกและบรรทัดเดียวแสดงจำนวนลำดับย่อยที่มีค่ามัธยฐานเท่ากับ k
Note คำตอบอาจมีค่ามากเกินว่าที่ int จะรองรับได้ คุณควรใช้ long long ในการเก็บค่าคำตอบ
หมายเหตุ
30% ของชุดทดสอบทั้งหมด n < 10
50% ของชุดทดสอบทั้งหมด n < 1000
70% ของชุดทดสอบทั้งหมด n < 100 000
100% ของชุดทดสอบทั้งหมด n < 1000 000
โจทย์โดย : สรวิทย์ สุริยกาญจน์ ( PS.int )
ที่มา : ศูนย์ สอวน. โรงเรียนมหิดลวิทยานุสรณ์
ตัวอย่างข้อมูลนำเข้า | ตัวอย่างข้อมูลส่งออก |
10 5 6 3 9 4 7 5 10 8 2 1 | 6 |
10 5 10 2 6 4 7 1 5 8 9 3 | 10 |