QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 128 MB 總分: 100

#23818. เกมไพ่แสนสนุก

统计

โจทย์ปัญหา

มีไพ่อยู่จำนวนมาก ซึ่งแต่ละใบมีจำนวนเต็มตั้งแต่ $1$ ถึง $1000$ เขียนอยู่ แอนนา (Anna) และบรูโน (Bruno) เล่นเกมต่อไปนี้โดยใช้ไพ่เหล่านั้น

แอนนามีกองไพ่ที่ประกอบด้วยไพ่ $A$ ใบ และบรูโนมีกองไพ่ที่ประกอบด้วยไพ่ $B$ ใบ แอนนาทิ้งไพ่จำนวนกี่ใบก็ได้ ($0$ ใบก็อนุญาต) จากไพ่ $A$ ใบของเธอเพื่อสร้างกองไพ่ใหม่ บรูโนทิ้งไพ่จำนวนหนึ่ง ($0$ ใบก็อนุญาต) จากด้านบนสุด และทิ้งไพ่จำนวนหนึ่ง ($0$ ใบก็อนุญาต) จากด้านล่างสุดของกองไพ่ที่ประกอบด้วยไพ่ $B$ ใบของเขาเพื่อสร้างกองไพ่ใหม่ อย่างไรก็ตาม ไพ่ที่เหลือจะไม่ถูกสลับลำดับเมื่อทำการทิ้งไพ่ หากกองไพ่ทั้ง $2$ กองที่สร้างขึ้นด้วยวิธีนี้ตรงกัน จำนวนไพ่ที่อยู่ในกองใดกองหนึ่งจะกลายเป็นคะแนนของผู้เล่นทั้ง $2$ คน ในที่นี้ กองไพ่ $2$ กองจะตรงกันก็ต่อเมื่อจำนวนไพ่ $n$ ที่อยู่ในแต่ละกองเท่ากัน และสำหรับไพ่ใบที่ $i$ จากด้านบนสุดทุกใบ ($1 \le i \le n$) จำนวนเต็มที่เขียนอยู่บนไพ่จะต้องเหมือนกันทั้งหมด

ตัวอย่างเช่น สมมติว่าแอนนามีกองไพ่ $5$ ใบที่มีจำนวนเต็ม $1, 2, 3, 4, 5$ เขียนอยู่ตามลำดับจากด้านบนสุด และบรูโนมีกองไพ่ $4$ ใบที่มีจำนวนเต็ม $3, 1, 4, 1$ เขียนอยู่ตามลำดับจากด้านบนสุด ในขณะนี้ หากแอนนาทิ้งไพ่ $2, 3, 5$ และบรูโนทิ้งไพ่ใบบนสุด $3$ กับไพ่ใบล่างสุด $1$ กองไพ่ของผู้เล่นทั้ง $2$ คนจะตรงกัน ในขณะนี้ เนื่องจากจำนวนไพ่ที่อยู่ในกองไพ่ที่เหลือกองหนึ่งคือ $2$ ใบ ผู้เล่นทั้ง $2$ คนจึงได้คะแนนเท่ากับ $2$

Figure

เราต้องการหาค่ามากที่สุดของคะแนนของผู้เล่นทั้ง $2$ คน

งานของคุณ

กำหนดข้อมูลเกี่ยวกับกองไพ่ที่แอนนาและบรูโนถืออยู่ จงเขียนโปรแกรมเพื่อหาค่ามากที่สุดของคะแนนของผู้เล่นทั้ง $2$ คน

ขอบเขต

  • $1 \le A \le 5000$: จำนวนไพ่ในกองของแอนนา
  • $1 \le B \le 5000$: จำนวนไพ่ในกองของบรูโน
  • จำนวนเต็มที่เขียนอยู่บนไพ่มีค่าระหว่าง $1$ ถึง $1000$ รวมขอบเขตด้วย

ข้อมูลนำเข้า

อ่านข้อมูลต่อไปนี้จากอินพุตมาตรฐาน

  • ในบรรทัดที่ $1$ มีจำนวนเต็ม $A, B$ เขียนอยู่โดยคั่นด้วยช่องว่าง
  • ในบรรทัดที่ $2$ มีจำนวนเต็ม $A$ ตัวเขียนอยู่โดยคั่นด้วยช่องว่าง ซึ่งจำนวนเต็มตัวที่ $i$ ($1 \le i \le A$) แทนจำนวนเต็มที่เขียนอยู่บนไพ่ใบที่ $i$ จากด้านบนสุดของกองไพ่ของแอนนา
  • ในบรรทัดที่ $3$ มีจำนวนเต็ม $B$ ตัวเขียนอยู่โดยคั่นด้วยช่องว่าง ซึ่งจำนวนเต็มตัวที่ $j$ ($1 \le j \le B$) แทนจำนวนเต็มที่เขียนอยู่บนไพ่ใบที่ $j$ จากด้านบนสุดของกองไพ่ของบรูโน

ข้อมูลส่งออก

พิมพ์ออกทางเอาต์พุตมาตรฐานเป็นจำนวนเต็มใน $1$ บรรทัด ที่แทนค่ามากที่สุดของคะแนนของผู้เล่นทั้ง $2$ คน

เกณฑ์การให้คะแนน

  • สำหรับข้อมูลที่ใช้ตรวจให้คะแนน คิดเป็น $10\%$ ของคะแนนทั้งหมด จะสอดคล้องกับ $A \le 10, B \le 10$
  • สำหรับข้อมูลที่ใช้ตรวจให้คะแนน คิดเป็น $50\%$ ของคะแนนทั้งหมด จะสอดคล้องกับ $A \le 100, B \le 100$

ตัวอย่าง 1

ข้อมูลนำเข้า

5 4
1 2 3 4 5
3 1 4 1

ข้อมูลส่งออก

2

ตัวอย่างนี้ตรงกับตัวอย่างในโจทย์ปัญหา

ตัวอย่าง 2

ข้อมูลนำเข้า

6 5
4 1 5 2 3 4
4 5 4 2 3

ข้อมูลส่งออก

3

ในตัวอย่างนี้ มี $2$ วิธีที่ผู้เล่นทั้ง $2$ คนจะได้คะแนนเท่ากับ $3$

  • เมื่อแอนนาทิ้งไพ่ $1, 2, 3$ และบรูโนทิ้งไพ่ $2, 3$ กองไพ่ของผู้เล่นทั้ง $2$ คนจะกลายเป็น $4, 5, 4$ ตามลำดับจากด้านบนสุด และคะแนนของผู้เล่นทั้ง $2$ คนคือ $3$ คะแนน
  • นอกจากนี้ เมื่อแอนนาทิ้งไพ่ $1, 5, 4$ และบรูโนทิ้งไพ่ด้านบนสุดคือ $4$ และ $5$ กองไพ่ของผู้เล่นทั้ง $2$ คนจะกลายเป็น $4, 2, 3$ ตามลำดับจากด้านบนสุด และคะแนนของผู้เล่นทั้ง $2$ คนคือ $3$ คะแนน

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.