การป้อนข้อมูล:
รายการ / เวกเตอร์ที่ไม่มีค่าว่างซึ่งแต่ละองค์ประกอบมีค่า / ตัวอักษรเพื่อระบุว่าคุณจะนับรวมหรือไม่ หรือลง ฉันจะใช้1
และ-1
แต่คุณสามารถเลือกสิ่งที่คุณต้องการ คุณสามารถใช้สองค่าเท่านั้นคุณไม่สามารถใช้1,2,3...
และ-1,-2,-3...
สำหรับขึ้นและลงตามลำดับ
ท้าทาย:
คุณจะใช้ตัวเลขในเรขาคณิตแบบ1, 2, 4, 8, 16, 32 ... ทุกครั้งที่คุณเริ่มนับขึ้นหรือลงคุณจะนับทีละ1จากนั้น2จากนั้น4และต่อไปเรื่อย ๆ หากคุณเปลี่ยนและเริ่มนับด้วยวิธีอื่นคุณจะลบ 1จากนั้น2จากนั้น4และต่อไปเรื่อย ๆ ผลลัพธ์จะเป็นตัวเลขที่คุณได้รับในท้ายที่สุด
ตัวอย่าง:
ในตัวอย่างด้านล่างบรรทัดแรกคืออินพุตบรรทัดที่สองคือตัวเลขที่คุณกำลังนับขึ้น / ลงบรรทัดที่สามคือผลรวมสะสมและบรรทัดสุดท้ายคือเอาต์พุต
ตัวอย่างที่ 1:
1 1 1 1 1 1 1 1 1 1
1 2 4 8 16 32 64 128 256 512
1 3 7 15 31 63 127 255 511 1023
1023
ตัวอย่างที่ 2:
1 1 1 1 1 1 -1 -1 -1 -1 1 1 1
1 2 4 8 16 32 -1 -2 -4 -8 1 2 4
1 3 7 15 31 63 62 60 56 48 49 51 55
55
อย่างที่คุณเห็นค่าแรก1
หรือ-1
"รีเซ็ต" ค่าที่เรากำลังนับและลำดับต่อเนื่องของ1
หรือ-1
หมายถึงการเพิ่มค่าเป็นสองเท่า
ตัวอย่างที่ 3:
-1 -1 1 1 -1 -1 -1
-1 -2 1 2 -1 -2 -4
-1 -3 -2 0 -1 -3 -7
-7
กรณีทดสอบเพิ่มเติมเพื่อพิจารณากรณีมุมที่อาจเกิดขึ้น
อินพุตอยู่บนบรรทัดแรก เอาต์พุตอยู่ที่วินาที
1
1
-------
-1
-1
-------
-1 1 -1 1 -1 1 -1 1 -1 1 -1 1
0
นี่คือรหัสกอล์ฟเพื่อการส่งที่สั้นที่สุดในแต่ละภาษาชนะ
®ì2Ãx
ไปxì2
เพื่อประหยัดไบต์ที่สอง