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 | #include <cstdio>using namespace std;int max(int a,int b) {return a>b ? a:b;}int main(){ for(int i=0; i<10; ++i) { int N; scanf("%d",&N); int B_height[1001]; int sum=0; for(int j=0; j<N; j++) scanf("%d",&B_height[j]); for(int j=2; j<(N-2); j++) { if(B_height[j]>max(B_height[j-2],B_height[j-1]) && B_height[j]>max(B_height[j+1],B_height[j+2] )) { int M=max(max(B_height[j-2],B_height[j-1]),max(B_height[j+1],B_height[j+2])); sum=sum+B_height[j]-M; } } printf("#%d %d\n",i+1,sum); }} |
'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글
| 171031_sum (0) | 2017.10.31 |
|---|---|
| 171030_flatten (0) | 2017.10.30 |
| 171030_간단한 369 게임 (0) | 2017.10.30 |
| 171028_파리 퇴치 (0) | 2017.10.28 |
| 171028_초심자의 회문검사 (0) | 2017.10.28 |