본문으로 바로가기
#include <cstdio>

int n;
int cache[1146];

int f(int);

int main() {
  scanf("%d", &n);
  int i = 1;
  while (f(++i) <= n);
  printf("%d\n", i-1);
  return 0;
}

int f(int x) {
  if (x == 1) return 1;
  if (cache[x]) return cache[x];
  return cache[x] = f(x-1) + 1 + 2*x*x - 2*x;
}

'Programming > Baekjoon Online Judge' 카테고리의 다른 글

[BOJ] 8595: 히든 넘버  (0) 2018.08.01
[BOJ] 7785: 회사에 있는 사람  (0) 2018.07.30
[BOJ] 7770: 아즈텍 피라미드  (0) 2018.07.30
[BOJ] 7466: 젖과 꿀의 땅  (0) 2018.07.30
[BOJ] 6996: 애너그램  (0) 2018.07.27
[BOJ] 5704: 팬그램  (0) 2018.07.27

댓글을 달아 주세요