프로그래밍 알고리즘

[정올 1214] 히스토그램

꾸준한사람 2022. 12. 31. 04:52
반응형

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1214&sca=99 

 

JUNGOL

 

www.jungol.co.kr

#include <stdio.h>

int N;
typedef unsigned long long u64;
u64 st[100010], ans, min = 1000000000;

int main(void)
{
	scanf("%d", &N);
	for (int i = 0; i < N; i++)	{
		scanf(" %lld", &st[i]);
		min = (st[i] < min) ? (st[i]) : (min);
	}
	ans = min * (u64)N;
	for (int i = 0; i < N; i++)	{ //양 옆으로 자기보다 작은 게 나올 때까지 계산
		if (st[i] <= min) continue;
		int p, n;
		u64 area;
		for (p = i;; p++) 
			if (p >= N || st[p] < st[i]) break;
		for (n = i;; n--) 
			if (n < 0 || st[n] < st[i]) { n++; break; }
		area = ((u64)p - (u64)n) * st[i];
		if (ans < area) ans = area;
	}
	printf("%lld\n", ans);

	return 0;
}
반응형

'프로그래밍 알고리즘' 카테고리의 다른 글

[정올 1240] 제곱근  (0) 2023.01.02
[정올 1239] 비밀편지  (0) 2023.01.02
[정올 1183] 동전자판기(하)  (0) 2022.12.31
[정올 1175] 주사위던지기2  (0) 2022.12.31
[정올 1169] 주사위던지기1  (0) 2022.12.31