思路是先按H降序排列(H相同时K值小的优先),然后用判断遍历数组,若当前数组下标减去K值大于0,则向前移动(下标-K)位....(表述不清楚)....
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
String line;
while (scan.hasNextLine()) {
line = scan.nextLine().trim();
// please write your code here
String[] s = line.split(" ");
int len = s.length;
int n = Integer.parseInt(s[0]);
int m[][] = new int[len][2];
int result[][] = new int[len][2];
//将值存入二维数组
for(int i = 0; i < n; i++) {
m[i][0] = Integer.parseInt(s[2*i+1]);
m[i][1] = Integer.parseInt(s[2*i+2]);
}
//将二维数组按第一列降序排列
Main mm = new Main();
mm.insertSort(m,n);
for(int i = 0; i < n; i++) {
int l = i;
int j = i - m[i][1];
//System.out.println(""+j);
if(j > 0) {