PKU 1844 Sum

  • 作られる数の集合を見ていくとパターンがあることに気付く
  • JavaとCで速度がだいぶ違うが、そういうものなのだと思う
public class Main {
	public static void main(String[] args) {
		final Scanner scanner = new Scanner(System.in);
		final int S = scanner.nextInt();
		int sum = 0;
		int answer = 1;
		while (true) {
			sum += answer;
			if (sum >= S && ((sum - S) & 1) == 0) {
				break;
			}
			++answer;
		}
		System.out.println(answer);
	}
}
int main() {
	int S, sum = 0, answer = 1;
	scanf("%d", &S);
	while (1) {
		sum += answer;
		if (sum >= S && ((sum - S) & 1) == 0) {
			break;
		}
		++answer;
	}
	printf("%d", answer);
}