백준 1449 수리공 항승

https://www.acmicpc.net/problem/1449

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int N, L;

int main() {
    cin >> N >> L;
    vector<pair<double, double>> leaks(N);

    for (auto &leak:leaks) {
        double pos; cin>>pos;
        leak={pos-0.5, pos+0.5};
    }
    sort(leaks.begin(), leaks.end());
    int ret=0;
    double idx=0;
    for(int i=0; i<N; ++i) {
        if(idx<leaks[i].first) {
            int length=leaks[i].second-leaks[i].first;
            idx=leaks[i].first+(length/L)*L + (length%L==0?0:L);
            ret+=(length/L) + (length%L==0?0:1);
        }
        else if(idx<leaks[i].second) {
            int length=leaks[i].second-idx;
            idx=idx+(length/L)*L + (length%L==0?0:L);
            ret+=(length/L) + (length%L==0?0:1);
        }
    }
    cout<<ret;
    //std::cout << "Hello, World!" << std::endl;
    return 0;
}

[jungin]
Written by@[jungin]
안녕하세요

GitHub