수열의 차이가 일정한 수 $c$ 초과이면 앞의 숫자들을 다 날리고 마지막에 남는 숫자의 갯수를 세는 문제
앞에서부터 날릴 필요 없이 뒤에서 출발해서 break문으로 탈출~
import java.util.Scanner;
public class ProblemA {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int c = sc.nextInt();
int[] num = new int[n+1];
for (int i=1; i<=n; i++) {
num[i] = sc.nextInt();
}
int cnt = 1;
for (int i=n-1; i>0; i--) {
if (num[i+1] - num[i] <= c) {
cnt++;
} else {
break;
}
}
System.out.println(cnt);
}
}
따라서 레벨 $k$에서 $+$연산을 $k^3+2k^2+1$번 해주면 된다. (레벨 1→2 케이스만 예외로 처리)
import java.util.Scanner;
public class ProblemC {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(2);
for (long k=2; k<=n; k++) {
System.out.println((k+2)*k*k+1);
}
}
}