[백준 2879번] 코딩은 예쁘게
2017. 7. 25. 01:38ㆍ알고리즘/백준
반응형
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include <iostream> using namespace std; int n, num[2][1002],cnt=0,idx=0,r=0; int main() { cin >> n; for (int i = 0; i < 2; i++) { for (int j = 0; j < n; j++) { cin >> num[i][j]; if (i == 1) num[0][j] = num[1][j] - num[0][j]; } } bool chk = num[0][0] < 0 ? false : true; while (1) { if (idx == n) { break; } int cur_num = num[0][r]; bool cur_chk = cur_num < 0 ? false : true; if (num[0][idx] == 0) { idx++; r++; chk = num[0][idx] < 0 ? false : true; } else if (chk != cur_chk || r==n || num[0][r] == 0) { if (chk == true) { for (int i = idx; i < r; i++) { num[0][i] -= 1; } r = idx; chk = num[0][idx] < 0 ? false : true; cnt++; } else if (chk == false) { for (int i = idx; i < r; i++) { num[0][i] += 1; } r = idx; chk = num[0][idx] < 0 ? false : true; cnt++; } } else if (chk == cur_chk) r++; } cout << cnt << '\n'; return 0; } | cs |
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 1799번] 비숍 (0) | 2017.07.26 |
---|---|
[백준 2493번] 탑 (0) | 2017.07.26 |
[백준 9465번] 스티커 (0) | 2017.07.24 |
[백준 1963번] 소수 경로 (0) | 2017.07.24 |
[백준 10819번] 차이를 최대로 (0) | 2017.07.23 |