字节跳动22号第四题--两次遍历满足约束
import java.util.Arrays;
import java.util.Scanner;
public class T4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int[] con = new int[n];
Arrays.fill(con, Integer.MAX_VALUE);
for (int i = 0; i < m; i++) {
int a = scanner.nextInt();
int b = scanner.nextInt();
con[a] = b;
}
int[] dp = new int[n];
dp[0] = 0;
for (int i = 1; i < n; i++) {
dp[i] = Math.min(dp[i - 1] + 1, con[i]);
}
for (int i = n - 2; i > 0; i--) {
dp[i] = Math.min(dp[i + 1]+ 1, dp[i]);
}
int ans = Arrays.stream(dp).max().getAsInt();
System.out.println(ans);
}
}