티스토리 뷰
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh
좌우로 거리가 2씩 조망권이 보장되는 세대수를 세는 문제이다. 일단 기준이 되는 건물의 높이가 좌우로 거리가 2 안에 들어오는 건물보다 높아야 한다. 그렇다면 조망권이 보장되는 세대수는 현재 건물의 높이에서 좌우로 2개씩 총 4개의 건물 중 가장 높은 건물의 차이이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <cstdio> #include <algorithm> using namespace std; int main() { for(int k=1;k<=10;k++) { int n,a[1000],cnt=0; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=2;i<n-2;i++) { int m=max({a[i-2],a[i-1],a[i+1],a[i+2]}); int d=a[i]-m; if(d>0) cnt+=d; } printf("#%d %d\n",k,cnt); } return 0; } | cs |
'Algorithm > SW Expert Academy' 카테고리의 다른 글
3809 화섭이의 정수 나열 (0) | 2018.04.11 |
---|---|
2817 부분 수열의 합 (0) | 2018.04.11 |
1215 회문1 (0) | 2018.03.28 |
4047 영준이의 카드 카운팅 (0) | 2018.03.27 |
1249 보급로 (0) | 2018.03.27 |