알고리즘/SWEA
[SWEA 4796] 의석이의 우뚝 선 산
히더
2018. 7. 26. 18:01
출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWS2h6AKBCoDFAVT
#include <iostream>
#include <algorithm>
#include <memory.h>
using
namespace
std;
long
long
L, R, N, result, flag;
long
long
map[50000];
int
main()
{
long
long
T, t = 1;
cin >> T;
while
(T--)
{
cin >> N; result = 0; flag = 0;
memset
(map, 0,
sizeof
(map));
for
(
long
long
i = 0; i < N;i++) cin >> map[i];
L = 0; R = 0;
for
(
long
long
i = 1; i < N; i++)
{
if
(R > 0 && L == 0 && map[i] > map[i - 1]) R = 0;
if
(L > 0 && R > 0 && map[i] > map[i - 1])
{
result += L*R; L = 0; R = 0;
}
if
(map[i] > map[i - 1]) L++;
if
(map[i] < map[i - 1])R++;
}
if
(L > 0 && R > 0) result += L*R;
cout <<
"#"
<< t++ <<
" "
<< result << endl;
}
return
0;
}