728x90
https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
정렬하는 게 제일 중요. 왼쪽에서부터 쭉 오른쪽으로 이동하면서 테이프를 붙일 것이므로!
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int L, N, pipe[1001];
cin >> N >> L;
for(int i=0; i<N; i++) cin >> pipe[i];
if(L == 1) {
cout << N << '\n';
return 0;
}
sort(pipe, pipe+N);
int cntPipe= 1;
int s = pipe[0];
for(int i=1; i<N; i++){
if(pipe[i] - s + 1 > L) {
cntPipe++;
s = pipe[i];
}
}
cout << cntPipe << '\n';
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준/c++] 1946번: 신입 사원 (0) | 2022.07.25 |
---|---|
[백준/c++] 2529번: 부등호 (0) | 2022.07.25 |
[백준/c++] 1205번: 등수 구하기 (0) | 2022.07.24 |
[백준/c++] 7576번: 토마토 (0) | 2022.07.24 |
[백준/c++] 10026번: 적록색약 (0) | 2022.07.24 |