【題解】AtCoder ABC 185D – Stamp

【題目敘述】https://atcoder.jp/contests/abc185/tasks/abc185_d

#include <bits/stdc++.h>
using namespace std;

int a[200005];
vector <int> v;

int main(){
    int n, m;
    cin >> n >> m;
    if (!m){
        cout << 1 << "\n";
        return 0;
    }
    for (int i = 0; i < m; i++){
        cin >> a[i];
    }
    sort(a, a+m);
    int pre = 0, mn = 1e9;
    for (int i = 0; i < m; i++){
        if (a[i]-1-pre > 0){
            mn = min(mn, a[i]-1-pre);
            v.push_back(a[i]-1-pre);
        }
        pre = a[i];
    }
    if (n-pre > 0){
        mn = min(mn, n-pre);
        v.push_back(n-pre);
    }
    int ans = 0;
    for (auto i:v){
        ans += (i-1)/mn+1;
    }
    cout << ans << "\n";
}

分享本文 Share with friends