AcWing 1922. 懒惰的牛(java---差分)
原题链接
简单
作者:
CYHMMZDAN
,
2023-03-31 20:48:42
,
所有人可见
,
阅读 192
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
static int[] a=new int[3000005];
static long[] b=new long[1000005];
static int[] c=new int[200005];
static int[] d=new int[500005];
static int[] e=new int[200005];
static int[] f=new int[3000005];
static int t=520;
static int ans=0;
static int max=-1;
static int min=(int)2e+9;
static int n=0;
static int m=0;
static int sum=0;
static int l=0;
static int r=0;
static HashMap<Integer,Integer> map=new HashMap<>();
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
for(int i=1;i<=n;i++) {
l=sc.nextInt();
r=sc.nextInt();
if(r-m<=0) {
t=0;
}else{
t=r-m;
}
f[t]+=l;
f[r+m+1]-=l;
}
a[0]=f[0];
max=a[0];
for(int i=1;i<=1000000;i++) {
a[i]=f[i]+a[i-1];
max=Math.max(max,a[i]);
}
System.out.println(max);
}
}