๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int N,L; cin>>N>>L;
vector<int>v;
for(int i=0; i<N; i++){
int inp; cin>>inp;
v.push_back(inp);
}
sort(v.begin(),v.end());
double start = 0, end = 0, now = 0;
int cnt = 0;
for(int i=0; i<N; i++){
start = v[i]-0.5;
end = v[i]+0.5;
if(now<end){
if(now<start) now = start;
int temp_cnt = (end - now) / L;
if(temp_cnt==0) temp_cnt = 1;
cnt += temp_cnt;
now = start+ (L * temp_cnt);
}
}
cout<<cnt;
}
ํ์ด
๋ฌธ์ ์์ "์น์ด๋ ํญ์ ๋ฌผ์ ๋ง์ ๋, ์ ์ด๋ ๊ทธ ์์น์ ์ข์ฐ 0.5๋งํผ ๊ฐ๊ฒฉ์ ์ค์ผ ๋ฌผ์ด ๋ค์๋ ์ ์๋ค๊ณ ์๊ฐํ๋ค."๋ผ๋ ์กฐ๊ฑด์ ์ํด์ start = v[i] - 0.5, end = v[i] + 0.5๋ก ์ง์ ํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ now๋ ํ์ฌ ํ
์ดํ์ ์์น๋ฅผ ๋ปํ๋๋ฐ ๋ง์ฝ ํ์ฌ ํ
์ดํ ์์น๋ณด๋ค end์ง์ ์ด ๋ ํฌ๋ค๋ฉด ๊ทธ๋งํผ ํ
์ดํ๋ฅผ ๋ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋์ ํ์ํ ๋งํผ ํ
์ดํ๋ฅผ ๊ฐ์๋ฅผ ๋ํ๊ณ , ํ์ฌ ์ง์ ์ start + ํ
์ดํ์ ๊ธธ์ด * ํ
์ดํ ๊ฐ์์ ๊ฐ์ผ๋ก ๊ฐฑ์ ํด์ค๋๋ค. if(now<start) now = start;๋ผ๋ ์กฐ๊ฑด์ ์ค ์ด์ ๋, ์คํํธ ์ง์ ๋ถํฐ ํ
์ดํ๋ฅผ ์น ํ๋ฉด ๋๊ธฐ์ ๋ถํ์ํ ํ
์ดํ์น ์ ํ๋ ํ์๋ฅผ ๋ง๊ธฐ ์ํด ์ถ๊ฐํด์ฃผ์์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 1052๋ฒ - ๋ฌผ๋ณ (0) | 2022.03.30 |
---|---|
[๋ฐฑ์ค,c++] 2696๋ฒ - ์ค์๊ฐ ๊ตฌํ๊ธฐ (0) | 2022.03.29 |
[๋ฐฑ์ค,c++] 2422๋ฒ - ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ (0) | 2022.03.27 |
[๋ฐฑ์ค,c++] 1254๋ฒ - ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (0) | 2022.03.26 |
[๋ฐฑ์ค,c++] 4396๋ฒ - ์ง๋ขฐ ์ฐพ๊ธฐ (0) | 2022.03.26 |
[๋ฐฑ์ค,c++] 5582๋ฒ - ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด (0) | 2022.03.25 |
๋๊ธ