时间限制:
10000ms
单点时限:
1000ms
内存限制:
256MB
-
5 2 3 1 4 5
样例输出
-
1
-
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan=new Scanner(System.in); Main main=new Main(); int n=scan.nextInt(); int[] nums=new int[n]; for(int i=0;i<n;i++){ nums[i]=scan.nextInt(); } System.out.println(main.solve(nums)); } private int solve(int[] nums) { int n=nums.length; int re=n; for(int i=nums.length-1;i>=0;i--){ if(nums[i]==n){ n--; re--; } } return re; } }
描述
给定一个1-N的排列A1, A2, ... AN,每次操作小Hi可以选择一个数,把它放到数组的最左边。
请计算小Hi最少进行几次操作就能使得新数组是递增排列的。
输入
第一行包含一个整数N。
第二行包含N个两两不同整数A1, A2, ... AN。(1 <= Ai <= N)
对于60%的数据 1 <= N <= 20
对于100%的数据 1 <= N <= 100000
输出
一个整数代表答案