이번에는 Round 1 에디토리얼입니다. 그래프가 없으면 나름 경쟁력이 있는 나나 되겠습니다...
1650명 중에서 750명을 추리는 대회였습니다.
Easy(250pt, SequenceSums)
R1다운 상큼한 문제입니다; 길이 L 이상 100 이하의, 1씩만 증가하는 0 이상의 정수들의 수열의 합이 N이 되도록 하는 최소의 길이의 수열을 찾는 문제입니다.
그냥 길이 L부터 100까지 돌면서, 각 길이마다 이 조건을 만족하는 수열이 있나 체크하면 됩니다. 시작 수를 a라고 하면, (a + (a+L-1)) * L / 2 = N이 되어야 하니, 2a+L-1 = 2N / L 이 되어야 하고, 2a = (2N/L+1-L)이 되어야겠죠. 2N이 L로 나누어 떨어져야 하고, 이 결과로 나온 2a가 0 이상의 짝수여야 하겠습니다. 그대로 구현하면 됩니다.
~~~ cpp
#include
#include
#include
#include
17년 전
0개의 댓글이 있습니다.
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면
온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야
합니다. 현재 문제를 푸셨습니다.
일루
이번에는 Round 1 에디토리얼입니다. 그래프가 없으면 나름 경쟁력이 있는 나나 되겠습니다...
1650명 중에서 750명을 추리는 대회였습니다.
Easy(250pt, SequenceSums)
R1다운 상큼한 문제입니다; 길이 L 이상 100 이하의, 1씩만 증가하는 0 이상의 정수들의 수열의 합이 N이 되도록 하는 최소의 길이의 수열을 찾는 문제입니다.
그냥 길이 L부터 100까지 돌면서, 각 길이마다 이 조건을 만족하는 수열이 있나 체크하면 됩니다. 시작 수를 a라고 하면, (a + (a+L-1)) * L / 2 = N이 되어야 하니, 2a+L-1 = 2N / L 이 되어야 하고, 2a = (2N/L+1-L)이 되어야겠죠. 2N이 L로 나누어 떨어져야 하고, 이 결과로 나온 2a가 0 이상의 짝수여야 하겠습니다. 그대로 구현하면 됩니다.
~~~ cpp
#include
#include
#include
#include
17년 전