E - 放課後 Editorial

Time Limit: 1 sec / Memory Limit: 256 MB

配点: 300300

この問題の解説はこちら

問題文

※きたむーとはこの問題の作問のお手伝いをした人の名前である。また、きたむーの彼女はいろはちゃんではない。

きたむーは高校の競技プログラミング部に所属し、放課後も熱心にプログラミングに取り組んでいた。しかし最近、きたむーには彼女ができたようだ。

デートがしたい! デートがしたい! デートがしたい!

デートに着実に蝕まれていくプログラミング学習の時間。このままではきたむーのレートが落ちてしまうことに危機感を覚えたあなたは、彼の放課後のスケジュールを管理してあげることにした。

あなたは以下の点に配慮して明日以降の NN 日分のスケジュールを立てることにした。

  • きたむーそれぞれの日の放課後に「デート」「競プロ」のうちいずれか片方の行動をとる。
  • きたむーは AA 日以上デートできないと、愛が足りずに動けなくなってしまうので、 AA 日に一度は必ずデートする。
  • このカップルには明日から NN 日以内に BB 回の記念日があり、それぞれ D1,D2,,DBD_1,D_2,\cdots,D_B 日後である。この日には必ずデートを行う。 DiD_i は互いに異なる。
  • なお、きたむーは今日デートしており、彼の高校に休日はないものとする。

    あなたはきたむーが競プロに取り組む日数を最大化したい。

    制約

    • 入力される値はすべて整数である
    • 1N10181 \leq N \leq 10^{18}
    • 1AN1 \leq A \leq N
    • 0Bmin(N,2×105)0 \leq B \leq min(N,2 \times 10^5)
    • 1DiN1 \leq D_i \leq N (1iB)(1 \leq i \leq B)
    • DiDjD_i \neq D_j (1i,jB(1 \leq i,j \leq B かつ ij)i \neq j)
    • 入力はすべて整数

    入力

    入力は以下の形式で標準入力から与えられる。

    NN AA BB
    D1D_1 D2D_2 \cdots DBD_B
    

    出力

    きたむーにプログラミング学習をさせることができる日数の最大値を11行で出力せよ。


    入力例 1Copy

    Copy
    10 4 2
    4 6
    

    出力例 1Copy

    Copy
    7
    

    明日から1010日間のスケジュールを考えるが、44日以上競プロが連続してはならず、44日後、66日後の22日の記念日がある。競プロをP、デートをDと表記するなら、例えば、PPPDPDPPPDとスケジュールを組むことで77日競プロに取り組ませることができる。


    入力例 2Copy

    Copy
    10 1 0
    

    出力例 2Copy

    Copy
    0
    

    寂しがりすぎ。


    入力例 3Copy

    Copy
    5 2 5
    1 2 3 4 5
    

    出力例 3Copy

    Copy
    0
    

    記念日多すぎ。


    入力例 4Copy

    Copy
    10 5 3
    4 3 7
    

    出力例 4Copy

    Copy
    7
    

    入力例 5Copy

    Copy
    100 16 11
    90 98 88 82 40 16 32 45 87 67 48
    

    出力例 5Copy

    Copy
    88
    


    2025-03-14 (Fri)
    02:57:14 +00:00