C++の練習を兼ねて, AtCoder Regular Contest 135 の 問題D (Add to Square) を解いてみた.
■感想.
1. 問題D は, 方針が見えなかったので, 解説を参考に, AC版に到達できたと思う.
2. 実装に苦労したものの, 個人的には, 操作後のマス目の状態を抽出できる解説のロジックが, 非常に不思議な印象を受けた.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.
本家のサイト AtCoder Regular Contest 135 解説 の 各リンク を ご覧下さい.
■C++版プログラム(問題D/AC版).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
// 解き直し. // https://atcoder.jp/contests/arc135/editorial/3381 // C++(GCC 9.2.1) #include <bits/stdc++.h> using namespace std; using LL = long long; using vl = vector<LL>; using vvl = vector<vl>; #define repex(i, a, b, c) for(int i = a; i < b; i += c) #define repx(i, a, b) repex(i, a, b, 1) #define rep(i, n) repx(i, 0, n) #define repr(i, a, b) for(int i = a; i >= b; i--) LL a[505][505], rSum[505], cSum[505], o1[505][505], o2[505][505], o3[505][505], o4[505][505], ans[505][505]; int main(){ // 1. 入力情報. int H, W; scanf("%d %d", &H, &W); rep(i, H){ rep(j, W){ scanf("%lld", &a[i][j]); // (-1) の (i + j)乗 を 考慮. if((i + j) & 1) a[i][j] *= -1; } } // 2. 各行, 列の合計. rep(i, H) rep(j, W) rSum[i] += a[i][j]; rep(j, W) rep(i, H) cSum[j] += a[i][j]; // 3. 分類. // 3-1. 操作 1, 操作 2. rep(i, H){ rep(j, W){ if(rSum[i] < 0 && cSum[j] < 0) ++o1[i][j]; if(rSum[i] > 0 && cSum[j] > 0) ++o2[i][j]; } } // 3-2. 操作 3. rep(i, H) repx(j, i + 1, H) if((rSum[i] > 0 && rSum[j] < 0) || (rSum[i] < 0 && rSum[j] > 0)) ++o3[i][j]; // 3-3. 操作 4. rep(i, W) repx(j, i + 1, W) if((cSum[i] > 0 && cSum[j] < 0) || (cSum[i] < 0 && cSum[j] > 0)) ++o4[i][j]; // 4. 操作. // 4-1. 操作 1, 操作 2. rep(i, H){ int wMax = 0; rep(j, W){ if(rSum[i] != 0){ if(o1[i][j] || o2[i][j]){ LL x = rSum[i]; LL y = cSum[j]; if(abs(x) <= abs(y)){ rSum[i] -= x; cSum[j] -= x; ans[i][j] -= x; } if(abs(x) > abs(y)){ rSum[i] -= y; cSum[j] -= y; ans[i][j] -= y; } } // 更新最終列. wMax = j; } } // i行目の総和が, 0 か? if(rSum[i] != 0){ LL res = rSum[i]; rSum[i] -= res; cSum[wMax] -= res; ans[i][wMax] -= res; } } // 4-2. 操作 3. rep(i, H){ repx(j, i + 1, H){ if(o3[i][j]){ LL x1 = rSum[i]; LL x2 = rSum[j]; if((x1 > 0 && x2 < 0) || (x2 > 0 && x1 < 0)){ if(abs(x1) <= abs(x2)){ rSum[i] -= x1; rSum[j] += x1; ans[i][0] -= x1; ans[j][0] += x1; } if(abs(x1) > abs(x2)){ rSum[i] += x2; rSum[j] -= x2; ans[i][0] += x2; ans[j][0] -= x2; } } } } } // 4-3. 操作 4. rep(i, W){ repx(j, i + 1, W){ if(o4[i][j]){ LL y1 = cSum[i]; LL y2 = cSum[j]; if((y1 > 0 && y2 < 0) || (y2 > 0 && y1 < 0)){ if(abs(y1) <= abs(y2)){ cSum[i] -= y1; cSum[j] += y1; ans[0][i] -= y1; ans[0][j] += y1; } if(abs(y1) > abs(y2)){ cSum[i] += y2; cSum[j] -= y2; ans[0][i] += y2; ans[0][j] -= y2; } } } } } // 5. 符号の反映. LL t = 0; rep(i, H){ rep(j, W){ // (-1) の (i + j + 1)乗 を 考慮. if((i + j + 1) & 1) ans[i][j] *= -1; // 集計. t += abs(ans[i][j]); } } // 6. 出力. printf("%lld\n", t); rep(i, H) rep(j, W) printf("%lld%s", ans[i][j], (j < W - 1) ? " " : "\n"); return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
[入力例] 2 3 1 2 3 4 5 6 [出力例] 9 0 -3 -1 3 0 2 ※AtCoderのテストケースより [入力例] 2 2 1000000000 -1000000000 -1000000000 1000000000 [出力例] 4000000000 2000000000 0 0 2000000000 ※AtCoderのテストケースより [入力例] 3 4 0 2 0 -2 -3 -1 2 0 -3 -3 2 2 [出力例] 0 0 0 0 0 0 0 0 0 0 0 0 0 ※AtCoderのテストケースより [入力例] 3 4 1 3 2 5 2 5 1 3 7 3 5 1 [出力例] 18 0 1 0 4 -5 0 0 0 1 0 6 -1 [入力例] 4 5 1 -2 3 4 -5 6 7 8 -9 10 2 -3 4 5 6 7 8 -9 10 11 [出力例] 66 -3 -1 8 0 -9 7 0 0 -8 11 0 -10 0 0 0 0 9 0 0 0 [入力例] 7 10 7 10 -12 10 11 -18 11 9 2 6 13 7 13 3 3 18 13 -7 9 6 18 11 -8 12 11 -10 8 14 0 17 10 7 11 9 13 10 6 9 -6 10 22 -15 1 -5 -14 13 0 1 12 3 20 0 17 2 5 10 19 25 -12 7 12 21 -6 -6 4 -12 11 9 -8 2 [出力例] 206 2 0 -34 0 -9 -47 -8 6 15 5 0 -13 11 0 0 0 0 0 0 0 0 0 -15 0 0 0 0 0 0 0 -11 0 0 0 0 0 0 0 0 0 3 0 0 -3 0 -18 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 [入力例] 11 13 -81 15 71 2 -98 76 82 -40 -60 29 72 -88 90 36 66 28 -62 -54 64 -12 16 56 -63 -1 -50 -23 -81 -48 51 -37 77 -66 -33 -115 -78 8 36 28 -56 -105 -17 81 97 -70 88 17 51 50 -88 26 -69 26 66 -101 88 116 109 -62 15 -111 35 77 -20 -10 118 -103 -50 55 -10 61 81 -6 -64 -32 -121 -76 -12 67 96 -118 -29 -98 10 -97 -92 61 -9 3 -22 -107 -19 95 54 90 81 58 35 -45 113 -56 -22 -64 -122 98 84 69 -120 -11 123 69 -117 15 82 -63 99 37 71 110 15 -63 -123 97 113 21 -19 -115 -66 -72 -120 -39 39 38 -17 -23 -77 65 -103 59 9 -58 -34 61 22 [出力例] 2524 82 0 0 0 0 0 0 0 0 46 243 294 97 0 0 59 0 0 0 0 0 0 0 0 0 0 8 -138 0 0 0 0 0 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0 0 0 -38 0 -34 52 -378 0 0 0 0 0 0 0 0 0 88 0 0 0 54 0 0 0 0 0 0 0 0 0 0 0 -18 0 -228 45 0 0 0 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 0 75 0 0 0 0 0 0 0 0 132 0 0 -7 0 0 0 0 0 0 0 0 0 0 0 0 303 0 0 0 [入力例] 20 22 -1901 -8626 -7663 -1030 1536 2767 1835 8925 709 1856 8515 -7283 -5161 9289 1256 1769 1582 -7961 -1765 5605 -5709 -1182 5956 -5305 -7753 -718 -8771 -9760 -9201 -1816 6573 2061 -1222 -7185 1126 -3599 212 -5582 -8987 -3713 -2281 9572 6851 -9210 6385 -1075 -3196 -2612 7087 1501 2806 -6331 3812 182 3918 -2102 980 -5110 -3217 -9100 8725 -8757 6277 -1237 -3818 1931 1918 6290 -5500 8719 -7779 -9918 -1061 -5121 2885 -9225 -1325 7992 -8115 -1851 -7827 -2091 -7820 -1951 8205 -1637 -999 -7792 -1691 7737 8620 128 2211 1089 -7957 -181 -9958 1912 2788 1882 7788 -1169 7126 -7122 -3631 -7231 6591 -676 3591 1120 3237 2995 3628 9657 -9556 6763 268 3567 -6026 1713 1710 -2272 -9331 5575 1020 -1121 -7925 -6802 8917 -130 2336 171 1273 -2202 8962 1251 9660 7721 -2531 -7978 -2893 1565 557 7188 -917 5131 -3132 -7210 2031 -9555 -9711 9215 -975 -238 5360 -6119 6151 3012 -2615 9951 1721 5510 -5212 6169 8380 5121 -9082 7116 -8261 1229 -8810 -9063 6689 9118 -8753 1991 159 -2763 -2170 3802 2996 2392 -312 -1636 7211 5756 -1661 -2337 1110 -3171 8689 -5966 -6810 -1917 3591 -3079 2255 6386 -3661 -8877 5780 -9561 812 -8151 -1725 1728 -5017 -1875 -7318 -8910 -1595 8187 -2367 -5873 -2855 1180 -8081 -1158 2922 7992 7106 -1022 7118 -2881 -2931 7878 2986 7187 73 -5637 -620 8128 1803 -9835 1529 -806 1111 -3963 108 -5059 -1759 -1183 1860 -1871 -1150 -3873 -18 -7002 1663 -775 -9318 -1690 2275 1626 -3805 -7996 -258 9266 6363 -6370 -7226 518 72 -193 -9275 2029 -7779 -7915 -3319 8902 -1276 3112 -2581 -2115 -7776 -2119 -587 -1151 7350 -9798 3599 9211 -1516 -2531 3011 -5266 6680 -921 1338 -5866 -9713 -621 3117 -160 351 6801 8177 6021 -372 -7172 -3822 756 3027 1003 7593 -9662 -8336 9695 -6316 -7796 -1725 9533 -3181 -698 6863 3033 -9761 -9972 -1931 -1515 3595 -952 9035 -2198 -8793 1711 -5736 3185 -8583 -3997 -3019 3301 -8613 9511 -711 -6038 -2736 8393 9711 1325 1180 1309 1259 9151 7263 1265 -1901 -739 -818 -9901 -3812 3918 -5887 7182 -8770 1517 6105 232 2118 5191 -1819 8521 -9512 -7599 -9961 -7185 126 -2650 -6921 1797 7135 5158 -7291 -2113 1685 1100 -2097 -9796 -7157 6196 7131 -7520 1679 3810 2015 -7926 8832 -1113 -6221 -5712 -1396 -3613 -1163 2928 1087 -1173 -7112 -9828 -1826 -2532 7235 -5829 6752 3306 -8525 317 9111 -9588 8618 2109 -6125 -9616 -7126 995 1056 7613 8353 5271 -2520 388 -3667 -8826 -3711 2712 3107 -1525 -5860 9990 -8036 -2278 -9559 -1690 5507 631 8273 8817 2116 6150 -3862 -6027 [出力例] 443074 -10895 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17758 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7345 3454 0 51670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -10833 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14115 0 3874 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -5126 0 0 16694 0 8843 -1175 0 0 0 0 0 0 0 0 0 -2564 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -36735 11732 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -6920 10671 0 0 0 0 0 0 0 2213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23717 0 0 0 0 0 0 0 1325 0 0 -7002 0 -491 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12508 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16867 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3003 20689 0 0 0 0 0 0 0 0 0 0 0 3791 0 12347 -13498 0 -2447 0 0 0 0 0 0 0 -7921 4724 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7672 0 -19542 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -24776 3417 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2381 4419 0 0 -1569 18185 [入力例] 30 33 -88 -128 -368 -58 -315 168 -5 -837 -390 398 509 235 -202 825 -598 -755 306 357 -131 -778 905 -771 285 -587 -291 298 -162 852 361 -802 -561 -109 -512 100 752 -235 -583 -60 -852 591 -652 -367 205 65 -109 -733 -699 -820 876 -299 105 -582 285 -691 -659 -120 352 31 -33 -508 -59 -151 -772 -270 958 -797 -565 -650 -921 881 -970 162 328 936 602 555 -987 558 -637 -83 725 -687 859 581 -893 -682 857 799 722 -536 -233 933 537 587 -637 926 956 -982 -975 235 -229 -367 953 832 -373 266 123 -86 806 -868 57 -883 -190 -526 -1000 -52 551 611 -765 -162 -751 607 -657 351 -756 -826 -206 -226 -353 835 -158 -392 -512 -376 121 -873 -331 -321 -862 -252 776 595 756 -578 527 -655 953 -757 -386 782 -586 313 -993 -122 -758 558 -657 565 751 159 -896 388 103 -855 227 -515 -516 966 -277 -52 -825 855 90 123 159 759 -568 -871 -959 798 922 863 -715 500 296 -6 -503 -526 95 -753 -528 -235 -113 -236 -352 -682 -553 -399 -735 -126 73 -37 -63 -961 186 -551 -970 859 -300 577 -553 -151 937 -958 -620 -555 708 858 -863 801 670 795 -838 250 -659 -808 -252 358 972 523 715 979 278 682 255 -850 758 -505 558 65 -233 -258 -398 252 -659 -360 -52 553 -515 -577 -591 -259 -376 897 927 885 -831 -516 -300 316 -6 199 359 595 530 -155 378 -216 786 357 885 15 739 529 851 725 -277 665 -890 -528 802 835 552 -258 222 -237 987 -713 55 -918 708 890 -567 -89 -931 929 -322 -535 -528 -387 718 920 -555 77 28 820 -152 -396 985 -260 553 -153 -553 128 -662 839 570 715 262 -671 285 371 505 -153 -252 26 -319 -101 276 258 212 -382 -22 56 -100 -858 -782 553 156 582 967 575 23 -700 855 95 872 -816 533 -291 -615 -898 -259 973 -738 -866 -555 605 507 269 865 833 113 -556 691 -533 -205 -232 -661 75 508 538 -277 -156 513 -866 -125 -628 -522 -555 -615 -172 -319 170 -316 755 -252 825 -821 -676 225 109 535 595 78 29 -390 -896 -625 757 289 -599 572 -906 112 -775 -813 233 -708 -956 -575 591 655 -786 -898 -662 -779 -933 935 -801 361 553 297 -775 -657 385 988 665 362 -875 115 -637 -587 331 200 -983 -653 255 183 776 761 613 31 -8 -858 -502 531 127 -89 875 -319 -977 529 502 565 -329 -389 928 -650 370 369 956 -221 655 71 -308 368 527 377 -500 955 -188 923 -785 636 -150 11 65 359 767 -771 958 -228 90 -536 205 -650 319 -30 -596 228 -513 538 -5 523 958 890 -399 738 -61 -57 -225 -950 532 755 829 -283 693 -539 516 -157 -630 -685 -293 -596 277 -590 -770 -395 550 -892 189 -8 -153 -920 666 373 -593 -620 875 -350 75 -980 937 602 -537 -571 879 323 530 962 503 -627 -717 878 -136 -555 835 -763 -358 -511 -685 -578 -765 -280 95 -880 885 331 -56 -831 -272 -952 735 -505 -637 759 957 587 870 150 228 -889 828 559 -552 -515 -297 -156 261 -155 -178 695 521 138 -663 193 -76 -52 -338 -992 950 97 -201 -653 -658 -869 695 553 -596 -75 -825 855 107 -92 527 531 -903 -552 -370 -1000 -653 279 -835 560 -255 -651 525 653 67 556 201 -569 -538 -755 -85 -668 -576 -565 -551 -5 528 576 93 -275 -988 -665 -795 -711 285 -535 577 -988 -15 650 671 -327 -568 235 -568 -569 -850 -979 -502 88 659 836 -251 29 -698 -198 556 -197 93 -233 529 -823 57 529 795 230 265 337 695 265 51 190 835 -296 91 -655 -171 -619 -852 -966 650 -372 666 -36 698 -216 -518 777 36 -91 -335 51 -675 -595 -669 775 -785 -702 607 315 783 728 388 268 955 655 -273 505 -937 521 958 321 833 587 -537 -259 506 828 -777 157 916 975 -671 -755 193 -783 -365 -356 -16 -352 819 -865 583 323 -25 -230 -280 66 -11 -885 860 -876 -80 838 -868 -713 -623 -255 -671 713 753 225 -20 263 -788 686 -31 907 -598 -35 -209 -527 501 565 659 250 99 -263 587 173 -30 -365 156 251 707 295 -96 718 -736 -500 207 -870 -975 -259 913 903 -893 -63 -262 25 258 -663 -583 631 570 -268 -952 -599 117 502 738 -700 116 179 580 -518 508 -113 -759 713 765 851 218 -802 -502 -600 -873 -815 822 -596 -91 -712 800 137 -518 560 -286 -505 288 -971 776 -380 520 155 921 -196 593 606 957 912 26 -552 790 796 -123 -589 815 230 -915 -690 -705 -855 839 319 -222 53 336 -231 952 535 570 310 -311 -690 612 555 550 -550 865 605 -32 178 15 -835 -605 118 -357 -557 -583 -900 -569 -959 -592 -957 556 102 979 527 -75 -697 39 -675 961 -52 987 137 387 365 282 -905 -70 -868 -787 767 -39 582 289 -551 -289 930 -622 185 -171 710 -101 -595 587 -567 -920 173 -12 536 866 369 -767 985 -685 339 709 90 102 895 -373 -551 -588 -336 707 950 588 -951 269 -69 962 -517 825 588 68 585 355 -253 705 -179 19 -821 522 -86 882 -922 588 78 -512 -511 -617 -992 -277 621 782 -798 659 327 69 596 -579 -355 -737 -259 927 755 -595 -936 555 -91 525 -650 -391 [出力例] 90649 0 -435 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1542 0 0 0 0 -612 1541 -266 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -934 0 -3005 591 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1313 984 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -338 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 831 -1279 0 0 0 -2826 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2326 -140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1553 -1371 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 315 0 0 0 2362 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -337 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 0 0 0 2215 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -285 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 630 0 0 0 0 -266 2091 -1044 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1683 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2012 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1684 0 -2207 1511 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1468 411 0 1976 -2955 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1633 -365 1176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -519 0 0 1180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -344 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3630 0 0 0 -3093 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1811 0 0 0 0 0 -1259 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2245 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2456 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1008 2589 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1473 0 -2393 2875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -788 3301 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2109 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1077 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1252 -1587 3025 |
■参照サイト
AtCoder Regular Contest 135