1009
边界情况的考虑:只有一行,只有一列
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Main {
static List<Integer> as;
static List<Integer> bs;
static int line;
static List<Integer> indexs = new ArrayList<Integer>();
static Map<Integer, Integer> resultMap = new HashMap<Integer, Integer>();
static int totalNum = 0;
static List<String> results = new ArrayList<String>();
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
line = cin.nextInt();
results.add(line + "");
while (line != 0) {
int j = 0;
as = new ArrayList<Integer>();
bs = new ArrayList<Integer>();
int a = cin.nextInt();
int b = cin.nextInt();
while (a != 0 || b != 0) {
as.add(a);
bs.add(b);
totalNum += b;
a = cin.nextInt();
b = cin.nextInt();
j++;
}
if (line != 1)
process();
else {
process1();
}
results.add(a + " " + b);
line = cin.nextInt();
results.add(line + "");
}
for (int i = 0; i < results.size(); i++) {
System.out.println(results.get(i));
}
}
private static void process1() {
int index = 0;
for (int i = 0; i<as.size(); i++) {
coculate1(index, as.get(i), true);
index += bs.get(i);
}
if(index != 1) {
Collections.sort(indexs);
int a = resultMap.get(0);
int b = 0;
for (int i = 1; i < indexs.size(); i++) {
int indexNum = indexs.get(i);
int aTemp = resultMap.get(indexNum);
if (aTemp != a) {
b = indexNum - b;
results.add(a + " " + b);
b = indexNum;
a = aTemp;
}
}
b = totalNum - b;
results.add(a + " " + b);
}
resultMap.clear();
indexs.clear();
totalNum = 0;
}
private static void coculate1(int index, int value, boolean flag) {
if (index > totalNum - 1 || index < 0) {
return;
}
if (indexs.contains(index) && !flag)
return;
if (totalNum == 1) {
results.add("0 1");
} else {
if (index == 0) {
int a1 = getByIndex(value, index + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, Math.abs(a1 - value));
}
if (flag) {
coculate1(index + 1, a1, false);
}
} else if (index == totalNum - 1) {
int a1 = getByIndex(value, index - 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, Math.abs(a1 - value));
}
if (flag) {
coculate1(index - 1, a1, false);
}
} else {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index - 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a2 - value)));
}
if (flag) {
coculate1(index + 1, a1, false);
coculate1(index - 1, a2, false);
}
}
}
}
private static void process() {
int index = 0;
for (int i = 0; i<as.size(); i++) {
coculate(index, as.get(i), true);
index += bs.get(i);
}
coculate(totalNum - 1, as.get(as.size() - 1), true);
Collections.sort(indexs);
int a = resultMap.get(0);
int b = 0;
for (int i = 1; i < indexs.size(); i++) {
int indexNum = indexs.get(i);
int aTemp = resultMap.get(indexNum);
if (aTemp != a) {
b = indexNum - b;
results.add(a + " " + b);
b = indexNum;
a = aTemp;
}
}
b = totalNum - b;
results.add(a + " " + b);
resultMap.clear();
indexs.clear();
totalNum = 0;
}
private static void coculate(int index, int value, boolean flag) {
if (index > totalNum - 1 || index < 0) {
return;
}
if (indexs.contains(index) && !flag)
return;
if (index % line == 0) {
if (index == 0) {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a2 - value), Math.abs(a3 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
} else if (index == totalNum - line) {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a5 - value), Math.abs(a8 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
} else {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a5 - value), Math.abs(a8 - value),
Math.abs(a2 - value), Math.abs(a3 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
}
}
else if (index % line == line - 1) {
if (index == line - 1) {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a2 - value), Math.abs(a7 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
} else if (index == totalNum - 1) {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a5 - value), Math.abs(a6 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
} else {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a5 - value), Math.abs(a6 - value),
Math.abs(a2 - value), Math.abs(a7 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
}
}
else if (index < line) {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a2 - value), Math.abs(a7 - value),
Math.abs(a1 - value), Math.abs(a3 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
}
else if (index > totalNum - 1 - line) {
int a1 = getByIndex(value, index + 1);
int a2 = getByIndex(value, index + line);
int a3 = getByIndex(value, index + 1 + line);
int a4 = getByIndex(value, index - 1);
int a5 = getByIndex(value, index - line);
int a6 = getByIndex(value, index - line - 1);
int a7 = getByIndex(value, index - 1 + line);
int a8 = getByIndex(value, index - line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a5 - value), Math.abs(a6 - value),
Math.abs(a1 - value), Math.abs(a8 - value)));
}
if (flag) {
coculate(index + 1, a1, false);
coculate(index + line, a2, false);
coculate(index + 1 + line, a3, false);
coculate(index - 1, a4, false);
coculate(index - line, a5, false);
coculate(index - line - 1, a6, false);
coculate(index - 1 + line, a7, false);
coculate(index - line + 1, a8, false);
}
}
else {
int a1 = getByIndex(value, index - 1);
int a2 = getByIndex(value, index - line);
int a3 = getByIndex(value, index - line - 1);
int a4 = getByIndex(value, index + line);
int a5 = getByIndex(value, index - 1 + line);
int a6 = getByIndex(value, index + 1);
int a7 = getByIndex(value, index - line + 1);
int a8 = getByIndex(value, index + line + 1);
if (resultMap.get(index) == null) {
indexs.add(index);
resultMap.put(index,
max(Math.abs(a1 - value), Math.abs(a2 - value), Math.abs(a3 - value), Math.abs(a4 - value),
Math.abs(a5 - value), Math.abs(a6 - value), Math.abs(a7 - value),
Math.abs(a8 - value)));
}
if (flag) {
coculate(index - 1, a1, false);
coculate(index - line, a2, false);
coculate(index - line - 1, a3, false);
coculate(index + line, a4, false);
coculate(index + line - 1, a5, false);
coculate(index + 1, a6, false);
coculate(index - line + 1, a7, false);
coculate(index + line + 1, a8, false);
}
}
}
private static int getByIndex(int value, int index) {
if(index < 0 || index > totalNum - 1) {
return value;
}
int temp = 0;
for (int i = 0; i<bs.size(); i++) {
temp += bs.get(i);
if (index < temp) {
return as.get(i);
}
}
return value;
}
private static int max(int... nums) {
int max = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
}
return max;
}
}
import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;
public class Main {
static List<Integer> as;static List<Integer> bs;static int line;static List<Integer> indexs = new ArrayList<Integer>();static Map<Integer, Integer> resultMap = new HashMap<Integer, Integer>();static int totalNum = 0;static List<String> results = new ArrayList<String>();
public static void main(String[] args) {Scanner cin = new Scanner(System.in);line = cin.nextInt();results.add(line + "");while (line != 0) {int j = 0;as = new ArrayList<Integer>();bs = new ArrayList<Integer>();
int a = cin.nextInt();int b = cin.nextInt();while (a != 0 || b != 0) {as.add(a);bs.add(b);totalNum += b;a = cin.nextInt();b = cin.nextInt();j++;}if (line != 1)process();else {process1();}results.add(a + " " + b);line = cin.nextInt();results.add(line + "");}for (int i = 0; i < results.size(); i++) {System.out.println(results.get(i));}
}
private static void process1() {int index = 0;for (int i = 0; i<as.size(); i++) {coculate1(index, as.get(i), true);index += bs.get(i);}if(index != 1) {Collections.sort(indexs);int a = resultMap.get(0);int b = 0;for (int i = 1; i < indexs.size(); i++) {int indexNum = indexs.get(i);int aTemp = resultMap.get(indexNum);if (aTemp != a) {b = indexNum - b;results.add(a + " " + b);b = indexNum;a = aTemp;}}b = totalNum - b;results.add(a + " " + b);}resultMap.clear();indexs.clear();totalNum = 0;}
private static void coculate1(int index, int value, boolean flag) {if (index > totalNum - 1 || index < 0) {return;}if (indexs.contains(index) && !flag)return;if (totalNum == 1) {results.add("0 1");} else {if (index == 0) {int a1 = getByIndex(value, index + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, Math.abs(a1 - value));}if (flag) {coculate1(index + 1, a1, false);}} else if (index == totalNum - 1) {int a1 = getByIndex(value, index - 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, Math.abs(a1 - value));}if (flag) {coculate1(index - 1, a1, false);}} else {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index - 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a2 - value)));}if (flag) {coculate1(index + 1, a1, false);coculate1(index - 1, a2, false);}}}}
private static void process() {int index = 0;for (int i = 0; i<as.size(); i++) {coculate(index, as.get(i), true);index += bs.get(i);}coculate(totalNum - 1, as.get(as.size() - 1), true);Collections.sort(indexs);int a = resultMap.get(0);int b = 0;for (int i = 1; i < indexs.size(); i++) {int indexNum = indexs.get(i);int aTemp = resultMap.get(indexNum);if (aTemp != a) {b = indexNum - b;results.add(a + " " + b);b = indexNum;a = aTemp;}}b = totalNum - b;results.add(a + " " + b);resultMap.clear();indexs.clear();totalNum = 0;}
private static void coculate(int index, int value, boolean flag) {if (index > totalNum - 1 || index < 0) {return;}if (indexs.contains(index) && !flag)return;if (index % line == 0) {if (index == 0) {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a2 - value), Math.abs(a3 - value)));}
if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}} else if (index == totalNum - line) {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a5 - value), Math.abs(a8 - value)));}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}
} else {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a1 - value), Math.abs(a5 - value), Math.abs(a8 - value),Math.abs(a2 - value), Math.abs(a3 - value)));}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}
}}
else if (index % line == line - 1) {if (index == line - 1) {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a2 - value), Math.abs(a7 - value)));
}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}
} else if (index == totalNum - 1) {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a5 - value), Math.abs(a6 - value)));
}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}
} else {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a5 - value), Math.abs(a6 - value),Math.abs(a2 - value), Math.abs(a7 - value)));}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}
}}
else if (index < line) {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a2 - value), Math.abs(a7 - value),Math.abs(a1 - value), Math.abs(a3 - value)));}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}
}
else if (index > totalNum - 1 - line) {int a1 = getByIndex(value, index + 1);int a2 = getByIndex(value, index + line);int a3 = getByIndex(value, index + 1 + line);int a4 = getByIndex(value, index - 1);int a5 = getByIndex(value, index - line);int a6 = getByIndex(value, index - line - 1);int a7 = getByIndex(value, index - 1 + line);int a8 = getByIndex(value, index - line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index, max(Math.abs(a4 - value), Math.abs(a5 - value), Math.abs(a6 - value),Math.abs(a1 - value), Math.abs(a8 - value)));}if (flag) {coculate(index + 1, a1, false);coculate(index + line, a2, false);coculate(index + 1 + line, a3, false);coculate(index - 1, a4, false);coculate(index - line, a5, false);coculate(index - line - 1, a6, false);coculate(index - 1 + line, a7, false);coculate(index - line + 1, a8, false);}}
else {int a1 = getByIndex(value, index - 1);int a2 = getByIndex(value, index - line);int a3 = getByIndex(value, index - line - 1);int a4 = getByIndex(value, index + line);int a5 = getByIndex(value, index - 1 + line);int a6 = getByIndex(value, index + 1);int a7 = getByIndex(value, index - line + 1);int a8 = getByIndex(value, index + line + 1);if (resultMap.get(index) == null) {indexs.add(index);resultMap.put(index,max(Math.abs(a1 - value), Math.abs(a2 - value), Math.abs(a3 - value), Math.abs(a4 - value),Math.abs(a5 - value), Math.abs(a6 - value), Math.abs(a7 - value),Math.abs(a8 - value)));}if (flag) {coculate(index - 1, a1, false);coculate(index - line, a2, false);coculate(index - line - 1, a3, false);coculate(index + line, a4, false);coculate(index + line - 1, a5, false);coculate(index + 1, a6, false);coculate(index - line + 1, a7, false);coculate(index + line + 1, a8, false);}
}}
private static int getByIndex(int value, int index) {if(index < 0 || index > totalNum - 1) {return value;}int temp = 0;for (int i = 0; i<bs.size(); i++) {temp += bs.get(i);if (index < temp) {return as.get(i);}}return value;}
private static int max(int... nums) {int max = 0;for (int i = 0; i < nums.length; i++) {if (nums[i] > max) {max = nums[i];}}return max;}}
浙公网安备 33010602011771号