之前的尝试的解答: import java.util.*; public class problem {  public static Scanner sc = new Scanner(System.in);  public static int f[]=new int[5005];  public static int fl[]=new int[5005];  public static int fr[]=new int[5005];   public static void main(String[] args){   int n = sc.nextInt();   int m = sc.nextInt();   for(int i=1;i<=n;i++) {    int l=sc.nextInt();    int r=sc.nextInt();    f[l]++;f[r+1]--;    if (l==1) fl[r]++;    else    if (r==m) fr[l]++;   }   int ans=0;   for(int i=1;i<=m;i++) {    f[i]+=f[i-1];    if (f[i]>ans) ans=f[i];   }   for(int i=m;i>=1;i--)    fl[i]+=fl[i+1];   for(int i=1;i<=m;i++)    fr[i]+=fr[i-1];   for(int i=1;i<m;i++)     if (fl[i]+fr[i+1]>ans)      ans = fl[i]+fr[i+1];   System.out.printf("%d\n",ans);  } }