گربه غاز و ماتریس تصادفی
Problem
گربه غاز برای نیک فیوری یک میز مستطیل شکل a به اندازه \(n \cdot m\) آماده کرد که حاوی اعداد از 0< /span> code> به p−1
. نیک فیوری بلافاصله متوجه شد که هر عدد در این جدول به طور تصادفی با احتمال مساوی از 0
تا p− 1
، صرف نظر از موارد دیگر.
وظیفه شما — زیر ماتریس مستطیلی این جدول را پیدا کنید که در آن مجموع آن بر p
بخش پذیر است. >
به طور رسمی، باید \(1 <= i_1 <= i_2 <= n\)، \( 1 <= j_1 <= j_2 <= m\) که مجموع ax,y
در همه \(i_1 <= x <= i_2\)، \(j_1 <= y <= j_2\) بر روی p
تقسیم میشود، و در این میان حداکثر مقدار را دارد.
ورودی
خط اول شامل سه عدد صحیح n
، m
، p
(\(1 < ;= n m، p <= 1,000,000\)) — ابعاد ماتریس و عددی که مجموع زیرماتریس باید بر آن تقسیم شود.
خطوط n
زیر حاوی اعداد صحیح m
، عدد j
-امین در خط i
-امین هستند. برابر است با ai,j
(\(0 <= a_{i,j} <= p ? 1\) ).
تضمین میشود که هر عدد در a
بهطور مستقل و بهطور تصادفی، احتمالاً از 0
تا p−1
انتخاب شود.
خروجی
چاپ یک عدد صحیح — حداکثر مجموع یک زیرماتریس مستطیلی که در آن مجموع بر p
بخش پذیر است. اگر وجود ندارد، 0
را چاپ کنید.
نمونهها
<سر>
# |
ورودی |
خروجی |
<بدن>
1 |
6 7 5
0 0 3 0 1 0 4
0 2 3 0 2 2 1
2 4 1 4 4 0 3
1 1 0 2 0 3 2
3 0 3 1 0 1 2
1 2 0 0 3 3 1
|
65 |