N๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ ๋ํด ์๋ก ์ธ์ ํด ์๋ ๋ ์์ ์ฐจ๊ฐ 1~N-1๊น์ง์ ๊ฐ์ ๋ชจ๋ ๊ฐ์ง๋ฉด ๊ทธ ์์ด์ ์ ์พํ ์ ํผ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์์ด์์ 1 4 2 3 ์ ๋ค์ ์๋ ์ซ์ ์ฐจ์ ์ ๋ ๊ฐ์ด ๊ฐ๊ฐ 3, 2, 1์ด๋ฏ๋ก ์ด ์์ด์ ์ ์พํ ์ ํผ๊ฐ ๋๋ค. ์ด๋ค ์์ด์ด ์ ์พํ ์ ํผ์ธ์ง ํ๋จํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค.
๊ทธ ๋ค์ ์ค์ N๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ์์ ํฌ๊ธฐ๋ intํ ๋ฒ์ ์์ ์๋ค.
์ถ๋ ฅ
YES/NO
1ํธ (๊ฐ์ ํ์ด)
์ด๋ป๊ฒ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์์ใ ใ ํ์ด๋ณด๋๊น ๋ฐ๋ก ์ดํด๋จ
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void){
freopen("input.txt", "rt", stdin);
int n, pre, pos, now;
cin >> n;
vector <int> a(n);
cin >> pre;
for(int i = 1; i < n; ++i){
cin >> now;
pos = abs(pre-now);
if(pos < n && a[pos] == 0){
a[pos] = 1;
}
else{
cout << "NO";
return 0;
}
pre = now;
}
cout << "YES";
return 0;
}
'๐ง ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ฐ C++] 26. ๋ง๋ผํค (0) | 2024.04.23 |
---|---|
[์ธํ๋ฐ C++] 25. ์์ฐจ ๊ตฌํ๊ธฐ (0) | 2024.04.23 |
[์ธํ๋ฐ C++] 23. ์ฐ์ ๋ถ๋ถ ์ฆ๊ฐ์์ด (0) | 2024.04.22 |
[์ธํ๋ฐ C++] 22. ์จ๋์ ์ต๋๊ฐ(1์ฐจ์ ๋ฐฐ์ด ๊ตฌ๊ฐํฉ) (์ ํ์๊ฐ 1์ด) (1) | 2024.04.22 |
[์ธํ๋ฐ C++] 21. ์นด๋๊ฒ์ (0) | 2024.04.22 |