시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 382 127 82 39.614%

문제

피타고리안 트리플은 a2 + b2 = c2을 만족하는 양의 정수 세 개 a, b, c로 이루어져 있고, (a, b, c)로 나타낸다. 피타고리안 트리플 (a, b, c)는 두 정수 x와 y (x > y > 0)을 이용해서 만들 수 있다. a = 2xy, b = x2-y2, c = x2+y2.

ℝ = {R1, R2, ..., Ri, ...} 은 직사각형으로 이루어진 집합이다. Ri의 너비는 wi, 높이는 hi이고, 대각선의 길이는 di이다. ℝ에 포함되는 모든 직사각형이 다음과 같은 조건을 만족하는 경우 "피타고리안 기초 직사각형 집합" 이라고 한다.

  • (wi, hi, di)는 피타고리안 트리플이어야 한다.
  • wi < hi
  • hi/wi ≠ hj/wj if i ≠ j

피타고라스 고등학교에 재학중인 창영이는 길이가 L인 철사를 가지고 놀려고 한다. 창영이는 철사를 잘라서 조각으로 만들고, 각 조각을 구부려서 직사각형을 만드려고 한다. 이 때, 창영이가 만든 직사각형의 집합은 "피타고리안 기초 직사각형 집합"이어야 한다. Ri를 만드는데 필요한 철사의 길이는 2(wi + hi)이다.

Ri를 너비와 높이의 쌍 (wi, hi)로 나타낸다고 하자. L이 94인 경우에 창영이는 직사각형 3개를 만들 수 있다. ℝ = {(3, 4), (5, 12), (8, 15)}. 만약, 직사각형을 ℝ = {(3, 4), (7, 24)} 와 같이 만든다면, 창영이는 직사각형 2개를 만들 수 있다.

L이 주어졌을 때, 창영이가 만들 수 있는 직사각형 개수의 최대값을 구하는 프로그램을 작성하시오. 직사각형은 "피타고리안 기초 직사각형 집합" 이어야 한다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 철사의 길이 L이 주어진다. (14 ≤ L ≤ 1,000,000)

출력

각 테스트 케이스마다 길이가 L인 전선으로 창영이가 만들 수 있는 직사각형 개수의 최대값을 출력한다. 

예제 입력

2
14
1000

예제 출력

1
10

힌트

출처

ACM-ICPC > Regionals > Asia > Korea > Asia Regional - Daejeon 2013 J번

  • 문제를 번역한 사람: baekjoon
  • 문제의 오타를 찾은 사람: hihihi