class Solution {
private int[] diff;
public void increment(int i,int j,int val){
diff[i] += val;
if(j+1 < diff.length)
diff[j+1] -= val;
}
public boolean carPooling(int[][] trips, int capacity) {
diff = new int[1001];
int n = trips.length;
for(int i = 0; i < n;i++){
increment(trips[i][1],trips[i][2]-1,trips[i][0]);
}
if(diff[0] > capacity)
return false;
for(int i = 1; i <= 1000;i++){
diff[i] += diff[i-1];
if(diff[i] > capacity)
return false;
}
return true;
}
}