QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 256 MB Total points: 100

#23854. การจัดระเบียบตุ๊กตาผ้า

Statistics

โจทย์ปัญหา

ผู้เกี่ยวข้องกับ JOI คนหนึ่งทำงานอยู่ที่ร้านขายของเล่น วันนี้เขาได้รับมอบหมายให้จัดระเบียบมุมตุ๊กตาผ้าภายในร้าน

บนชั้นวางของมุมตุ๊กตาผ้า มีตุ๊กตาผ้า $N$ ตัววางเรียงเป็นแถวจากซ้ายไปขวา ชั้นวางถูกกั้นด้วยแผ่นกั้นออกเป็น $N$ ช่อง โดยวางตุ๊กตาผ้า $1$ ตัวใน $1$ ช่อง ร้านขายของเล่นแห่งนี้ขายตุ๊กตาผ้าทั้งหมด $M$ ชนิด ซึ่งมีหมายเลขกำกับตั้งแต่ $1$ ถึง $M$ ตามลำดับ ตุ๊กตาผ้าทั้ง $N$ ตัวที่วางเรียงอยู่บนชั้นวางต่างก็เป็นหนึ่งใน $M$ ชนิดนี้ นอกจากนี้ ตุ๊กตาผ้าแต่ละชนิดจะมีอยู่อย่างน้อย $1$ ตัวเสมอ

เพื่อให้ดูสวยงาม เขาต้องการจัดเรียงตุ๊กตาผ้าใหม่เพื่อให้ตุ๊กตาผ้าชนิดเดียวกันทั้งหมดวางเรียงติดกันบนชั้นวาง จึงตัดสินใจจัดเรียงตุ๊กตาผ้าใหม่ด้วยวิธีดังต่อไปนี้:

  • เลือกตุ๊กตาผ้าบางตัวจากตุ๊กตาผ้า $N$ ตัว แล้วหยิบออกจากชั้นวาง โดยไม่ขยับตำแหน่งของตุ๊กตาผ้าที่ไม่ได้ถูกหยิบออกมา
  • นำตุ๊กตาผ้าที่หยิบออกมาใส่กลับเข้าไปในช่องที่ว่างอยู่ของชั้นวางตามลำดับใดก็ได้ที่ต้องการ

หลังจากจัดเรียงใหม่แล้ว ตุ๊กตาผ้าชนิดเดียวกันทั้งหมดจะต้องวางเรียงติดกันบนชั้นวาง จงเขียนโปรแกรมเพื่อหาจำนวนตุ๊กตาผ้าที่น้อยที่สุดที่ต้องหยิบออกมาเพื่อจัดเรียงใหม่

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

ข้อมูลนำเข้าประกอบด้วย $1 + N$ บรรทัด

ในบรรทัดที่ $1$ มีจำนวนเต็ม $2$ จำนวนคือ $N, M$ ($1 \le N \le 100000$, $1 \le M \le 20$) เขียนคั่นด้วยช่องว่าง แสดงว่ามีตุ๊กตาผ้า $N$ ตัว และมีชนิดทั้งหมด $M$ ชนิด

ใน $N$ บรรทัดถัดมา แต่ละบรรทัดจะมีจำนวนเต็มตั้งแต่ $1$ ถึง $M$ เขียนอยู่ จำนวนเต็มที่เขียนอยู่ในบรรทัดที่ $i$ ($1 \le i \le N$) จาก $N$ บรรทัด แสดงชนิดของตุ๊กตาผ้าที่วางอยู่ในช่องที่ $i$ นับจากทางซ้ายของชั้นวาง รับประกันว่าสำหรับแต่ละชนิดจะมีตุ๊กตาผ้าอยู่อย่างน้อย $1$ ตัว

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

จงแสดงจำนวนตุ๊กตาผ้าที่น้อยที่สุดที่ต้องหยิบออกมาเพื่อจัดเรียงใหม่ใน $1$ บรรทัด

ตัวอย่างข้อมูลนำเข้าและข้อมูลส่งออก

ตัวอย่างข้อมูลนำเข้า 1

7 2
1
2
2
2
1
2
1

ตัวอย่างข้อมูลส่งออก 1

2

ตัวอย่างข้อมูลนำเข้า 2

12 4
1
3
2
4
2
1
2
3
1
1
3
4

ตัวอย่างข้อมูลส่งออก 2

7

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

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.