import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] nums = new int[n]; int index = 0; // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); nums[index] = a; index++; } int[] dp = new int[n]; Arrays.fill(dp,1); int res = dp[0]; for(int i = 1; i < n; i++){ for(int j = 0; j < i; j++){ // i指向当前序列的最后位置,来统计这个位置之前所有这个位置小的个数 if(nums[i] > nums[j]){ dp[i] = Math.max(dp[i],dp[j] + 1); } res = Math.max(res, dp[i]); } } System.out.println(res); } }