之前的尝试的解答: 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); } }
点赞 评论
牛客网
牛客企业服务