ความท้าทายที่เกี่ยวข้องกับการตลาดหลายระดับ
เพื่อนต้องการได้รับรางวัล ดังนั้นมันจึงดึงดูดNนักลงทุน ( N>=1) นักลงทุนรายที่ฉันลงทุนx[i]แต่ละราย เมื่อยอดรวมเกินขีด จำกัดx[0]+x[1]+...+x[N-1] >= Tเพื่อนสามารถได้รับรางวัล แต่ถ้าเงื่อนไขต่อไปนี้เป็นจริง:
- จำนวนนักลงทุนขั้นต่ำควรมากกว่า
M(M<=N) - เป็นเวลาอย่างน้อยหนึ่งจำนวนเต็ม
kที่k>=Mและk<=Nใด ๆ ที่kนักลงทุนต้องลงทุนอย่างน้อยT/kแต่ละคน
ให้ไว้N, x[], T, Mคุณควรตรวจสอบว่ารางวัลของเพื่อนถูกสร้างขึ้นหรือไม่ (ผลบูลีน "ใช่" หรือ "ไม่") รหัสที่สั้นที่สุดชนะ
ตัวอย่าง:
N=5; M=3; T=10000ในการที่จะสร้างรางวัลของเพื่อนต้องทำอย่างใดอย่างหนึ่งต่อไปนี้
- ๆ 3 ลงทุนอย่างน้อย 3334 ต่อ
- ๆ 4 ลงทุนอย่างน้อย 2,500
- ทั้ง 5 ลงทุนอย่างน้อย 2,000 ต่อ
N=6; M=2; T=5000:
- 2 ใด ๆ ที่ลงทุนอย่างน้อย 2,500
- ๆ 3 ลงทุนอย่างน้อย 1667 แต่ละอัน
- ๆ 4 ลงทุนอย่างน้อย 1,250 ต่อแต่ละ
- 5 ลงทุนอย่างน้อย 1,000 อัน
- ทั้ง 6 ลงทุนอย่างน้อย 834 ต่อคน
generalized: สำหรับใด ๆkที่ไหนk>=Mและk<=N:
- ใด ๆ
kของNนักลงทุนที่ลงทุนอย่างน้อยT/kแต่ละ
กรณีทดสอบ:
รูปแบบ:
N, x[], T, M -> correct answer
6, [999, 999, 59, 0, 0, 0], 180, 3 -> 0
6, [0, 60, 0, 60, 60, 0], 180, 3 -> 1
6, [179, 89, 59, 44, 35, 29], 180, 3 -> 0
6, [179, 89, 59, 44, 35, 30], 180, 3 -> 1
6, [179, 89, 59, 44, 36, 29], 180, 3 -> 1
6, [179, 90, 59, 44, 35, 29], 180, 3 -> 0
6, [30, 30, 30, 30, 29, 30], 180, 3 -> 0
6, [30, 30, 30, 30, 30, 30], 180, 3 -> 1
trueและคุณค่าที่แท้จริงสำหรับfalse?
len(x)Nที่ทำเพราะสำหรับอาร์เรย์จัดสรรแบบไดนามิกxใน C ไม่มีตรงlen(x)ฟังก์ชั่น -Nเพื่อให้คุณเสมออาจจะหมายถึงความยาว เพื่อความสะดวกคุณอาจพิจารณาข้อมูลอินพุตทั้งหมดN, x[], T, Mเป็นค่าคงที่ที่กำหนดไว้ภายนอกหรือภาษาในตัวบางอย่าง