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$ משמאל, ולהציב במקום ה-$1$ משמאל בובת פרווה מסוג $2$ ובמקום ה-$6$ משמאל בובת פרווה מסוג $1$. במקרה זה, מספר בובות הפרווה שמוציאים הוא $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.