結果
| 問題 | No.2559 眩しい数直線 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2023-12-07 19:21:02 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 6 ms / 2,000 ms | 
| コード長 | 832 bytes | 
| コンパイル時間 | 1,573 ms | 
| コンパイル使用メモリ | 168,256 KB | 
| 実行使用メモリ | 7,348 KB | 
| 最終ジャッジ日時 | 2024-09-27 02:18:08 | 
| 合計ジャッジ時間 | 2,193 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 20 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define rep(i, s, n) for (int i = (s); i < (int)(n); i++)
int main() {
	int n, length;
	int a[1001];
	int b[1001];
	int one_light[1001][1001];
	bool flag = false;
	int tmp, sum;
	int rebase_a;
	cin >> n >> length;
	rep(i, 1, n + 1) cin >> a[i] >> b[i];
	rep(i, 1, n + 1) {
		one_light[i][a[i] - 1] = b[i];
		tmp = 0;
		flag = false;
		while (!flag) {
			if (a[i] - tmp - 1 >= 0 && b[i] - tmp > 0)
				one_light[i][a[i] - tmp - 1] = b[i] - tmp;
			if (a[i] + tmp <= length && b[i] - tmp > 0)
				one_light[i][a[i] + tmp - 1] = b[i] - tmp;
			if (a[i] - tmp - 1 < 1 && a[i] + tmp - 1 > length)
				flag = true;
			tmp++;
		}
	}
	rep(i, 0, length) {
		sum = 0;
		rep (j, 0, n + 1) {
			if (sum < one_light[j][i])
				sum = one_light[j][i];
		}
		cout << sum << " ";
	}
	return (0);
}
            
            
            
        