/* -*- coding: utf-8 -*- * * 2559.cc: No.2559 眩しい数直線 - yukicoder */ #include #include using namespace std; /* constant */ const int MAX_N = 1000; const int MAX_X = 1000; /* typedef */ /* global variables */ int cs[MAX_X]; /* subroutines */ /* main */ int main() { int n, x; scanf("%d%d", &n, &x); for (int i = 0; i < n; i++) { int ai, bi; scanf("%d%d", &ai, &bi), ai--; int j0 = max(0, ai - bi + 1), j1 = min(x - 1, ai + bi - 1); for (int j = j0; j <= j1; j++) cs[j] = max(cs[j], bi - abs(j - ai)); } for (int i = 0; i < x; i++) printf("%d%c", cs[i], (i + 1 < x) ? ' ' : '\n'); return 0; }