728x90
파이프를 수리하는데 몇개의 테이프가 필요한지 찾는 문제입니다.
1. 정렬
2. 물이나오는 위치에 테이프 길이만큼 붙임
3. 테이프가 안 붙어있고 물이 새는 다음 위치로 이동
4. 2, 3번 반복
5. 반복횟수 출력
#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
using namespace std;
int main(int argc, char* argv[])
{
int i;
int n, l;
int num;
int count;
int water[1001];
cin >> n >> l;
for (int i = 0; i < n; ++i) {
cin >> water[i];
}
sort(water, water + n);
i = 0;
count = 0;
while (1) {
num = water[i];
num = num + l - 1;
++i;
++count;
while (1) {
if (water[i] <= num && i < n) {
++i;
}
else {
break;
}
}
if (i >= n) {
break;
}
}
cout << count << endl;
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 2212번 센서 (0) | 2019.11.24 |
---|---|
[C++] 백준 12845번 모두의 마블 (0) | 2019.11.24 |
[C++] 백준 1969번 DNA (0) | 2019.11.23 |
[C++] 백준 4796번 캠핑 (0) | 2019.11.23 |
[C++] 백준 1946번 신입 사원 (0) | 2019.11.23 |