import java.math.BigInteger; import java.util.ArrayList; import java.util.Scanner; /** * @Author 陈平安 * @Date 2022/8/29 9:25 * @PackageName:PACKAGE_NAME * @ClassName: Main * @Description: TODO * @Version 1.0 */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num1 = scanner.nextInt();//获取M int num2 = scanner.nextInt();//获取N //获取数据 // System.out.println(); // System.out.println(num1 + " " + num2);//测试数据 int time = 0;//获取运动的持续时间 int sum4 = 0;//记录下来每个单位时间下的路程总和 int sum5 = 0;//记录下来每个单位时间下的路程总和 int[][] arr = new int[num1][2]; int[][] arr1 = new int[num2][2]; //定义接受数据的数组 ArrayList<Object> list1 = new ArrayList<>();//路程记录数据组合 ArrayList<Object> list2 = new ArrayList<>();//路程记录数据组合 for (int i = 0; i < arr.length; i++) { arr[i][0] = scanner.nextInt(); arr[i][1] = scanner.nextInt(); time += arr[i][1];//得出路程持续的时间 for (int j = 0; j < arr[i][1]; j++) { sum4 += arr[i][0]; list1.add(sum4); }//获取每个单位时间增加的路程总和 }//获取数组元素 for (int i = 0; i < arr1.length; i++) { arr1[i][0] = scanner.nextInt(); arr1[i][1] = scanner.nextInt(); // time+= arr[i][1]; for (int j = 0; j < arr1[i][1]; j++) { sum5 += arr1[i][0]; list2.add(sum5);//同理 } }//获取数组元素 // System.out.println(time);//测试数据 // System.out.println(list1.toString()); // System.out.println(list2.toString());//测试数据 //int count1 = 0; int count2 = 0;//用来记录变化次数 for (int i = 0; i < time - 1; i++) { // if ((int) list1.get(i) == (int) list2.get(i)) { // continue; // } if ((int) list1.get(i) <= (int) list2.get(i) && (int) list1.get(i + 1) > (int) list2.get(i + 1)) {//判断领先顺序的变化 count2++; continue;//减少运行时间和资源的消耗 } if ((int) list1.get(i) >= (int) list2.get(i) && (int) list1.get(i + 1) < (int) list2.get(i + 1)) { count2++; continue; } } System.out.println(count2);//输出结果 } }
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @Author 陈平安
* @Date 2022/8/29 9:25
* @PackageName:PACKAGE_NAME
* @ClassName: Main
* @Description: TODO
* @Version 1.0
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();//获取M
int num2 = scanner.nextInt();//获取N
//获取数据
// System.out.println();
// System.out.println(num1 + " " + num2);//测试数据
int time = 0;//获取运动的持续时间
int sum4 = 0;//记录下来每个单位时间下的路程总和
int sum5 = 0;//记录下来每个单位时间下的路程总和
int[][] arr = new int[num1][2];
int[][] arr1 = new int[num2][2];
//定义接受数据的数组
ArrayList<Object> list1 = new ArrayList<>();//路程记录数据组合
ArrayList<Object> list2 = new ArrayList<>();//路程记录数据组合
for (int i = 0; i < arr.length; i++) {
arr[i][0] = scanner.nextInt();
arr[i][1] = scanner.nextInt();
time += arr[i][1];//得出路程持续的时间
for (int j = 0; j < arr[i][1]; j++) {
sum4 += arr[i][0];
list1.add(sum4);
}//获取每个单位时间增加的路程总和
}//获取数组元素
for (int i = 0; i < arr1.length; i++) {
arr1[i][0] = scanner.nextInt();
arr1[i][1] = scanner.nextInt();
// time+= arr[i][1];
for (int j = 0; j < arr1[i][1]; j++) {
sum5 += arr1[i][0];
list2.add(sum5);//同理
}
}//获取数组元素
// System.out.println(time);//测试数据
// System.out.println(list1.toString());
// System.out.println(list2.toString());//测试数据
//int count1 = 0;
int count2 = 0;//用来记录变化次数
for (int i = 0; i < time - 1; i++) {
// if ((int) list1.get(i) == (int) list2.get(i)) {
// continue;
// }
if ((int) list1.get(i) <= (int) list2.get(i) &&
(int) list1.get(i + 1) > (int) list2.get(i + 1)) {//判断领先顺序的变化
count2++;
continue;//减少运行时间和资源的消耗
}
if ((int) list1.get(i) >= (int) list2.get(i) &&
(int) list1.get(i + 1) < (int) list2.get(i + 1)) {
count2++;
continue;
}
}
System.out.println(count2);//输出结果
}
}