#include <iostream> #include <cstdio> #include <cstdlib> #include <string> #include <cstring> #include <vector> #include <stack> #include <queue> #include <deque> #include <set> #include <map> #include <cassert> #include <algorithm> #include <iomanip> #include <ctime> #include <cmath> #include <bitset> #pragma comment(linker, "/STACK:256000000") using namespace std; typedef long long int int64; typedef long double double80; const int INF = (1 << 29) + 5; const int64 LLINF = (1ll << 59) + 5; const int MOD = 1000 * 1000 * 1000 + 7; const int n = 6666; struct point { int x; int number; }; point arr[n]; point newArr[n]; int check(point arr[]) { int answer = 0; for (int i = 0; i < 2016; ++i) { answer += arr[i].x; } return answer % 2016; } void suffle(int col, point arr[]) { for (int i = 0; i < col; ++i) { swap(arr[rand() % n], arr[rand() % n]); } } int main() { //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); for (int i = 0; i < n; ++i) { scanf("%d", &arr[i].x); arr[i].number = i + 1; } srand(0); random_shuffle(arr, arr + n); int now = check(arr); double mod = 0.98; double T = 2000; int NewE; double good; while (now != 0) { for (int i = 0; i < n; ++i) { newArr[i] = arr[i]; } suffle(ceil(T), newArr); NewE = check(newArr); good = min(exp(-(NewE - now) / T), 1.0); if (good > (double)rand() / (double)RAND_MAX) { now = NewE; for (int i = 0; i < n; ++i) { arr[i] = newArr[i]; } } T *= mod; } for (int i = 0; i < 2016; ++i) { printf("%d\n", arr[i].number); } fclose(stdin); fclose(stdout); return 0; }
Standard input is empty
3187 1191 3594 4443 2401 469 707 3755 165 3913 3880 4336 362 6188 5984 3338 1417 1195 5057 2974 1576 2756 421 2319 5982 1983 3141 1688 4474 4681 6417 5179 6059 2256 3123 3672 6463 6076 3054 3447 67 673 3269 4494 5276 6538 5152 5135 3901 271 1269 1312 4765 6571 5309 6472 1387 6475 6394 3597 5664 390 142 3725 4399 5129 718 34 1547 5053 26 782 711 1638 5846 435 543 1896 4977 5587 1194 1273 1223 2730 2884 45 3059 2979 4636 2759 6431 5890 2661 4022 1836 556 2096 2280 5235 909 6455 5721 3472 5353 2045 5497 5140 4050 639 6352 1979 5282 62 507 4067 68 3384 688 4007 1097 4186 4897 5723 5316 2637 4047 1449 3401 6329 3362 2113 5117 2064 5334 4753 1241 1003 4488 2123 5186 3651 6242 5363 770 1832 3772 4081 1202 3941 2037 3856 2582 2614 4791 2850 162 4079 5469 4888 3506 1767 136 1874 5278 1346 746 277 771 415 4098 2153 4734 2313 3735 1873 4882 2515 1859 2243 383 2939 2996 347 4406 3469 1338 122 4401 6391 3893 1817 4930 2942 4645 3532 5523 71 705 666 6587 902 2095 5114 4587 2782 4263 1845 5413 3684 6478 4021 1203 4965 280 5381 6355 404 6016 1095 6239 2468 1396 989 6484 2376 1634 5758 6032 3915 607 2150 4539 2195 5477 6465 2049 652 478 1947 3636 452 6110 3034 6022 512 1721 2859 3342 6561 3765 2040 896 5456 5155 2902 1206 5869 6141 4413 1287 2302 4567 3293 3366 1354 678 6480 1616 3789 5559 4076 96 371 1048 3861 6433 2554 2485 4002 2425 1058 2907 5194 938 318 1171 5458 3113 2903 5816 4207 5065 5713 2977 6586 1780 1067 2162 985 4360 2770 5715 597 1989 1455 3890 3579 3873 2061 2080 5516 6514 6162 1645 4631 5275 1606 2714 1759 2316 2028 4265 5411 1323 6291 2751 3888 2993 3399 4570 738 249 1293 5839 204 5711 6584 6609 1358 2620 2799 3603 3443 4849 6244 1161 6460 6161 4285 1955 5204 2671 3613 5717 3028 4657 5307 6512 4633 6627 3717 5111 1290 4708 5206 3617 6083 2898 5630 812 1629 681 2428 5599 5379 4110 6001 5150 2854 5923 3119 5770 4383 6332 4606 6374 6498 172 1833 2584 581 17 5109 2312 889 891 253 906 2621 3376 1820 3457 56 3153 2222 4879 4218 881 2101 2006 4627 5418 2509 1074 5320 337 4735 5744 1937 5815 5096 2426 4295 4495 2332 3295 5050 97 3568 3997 3372 5676 295 1587 4999 3936 1390 2294 484 4687 1434 5420 5947 4346 4340 2998 2959 326 622 4203 6494 4697 2801 5780 1652 910 980 1139 3375 6181 5345 2324 1964 5636 1102 6166 2386 2370 4667 1109 811 6386 306 272 2314 1546 243 2525 3899 1006 5858 2198 3219 6495 3601 5052 2125 4913 6123 3021 4790 1675 6075 1157 5606 1468 3305 1357 4520 3858 4167 2286 2277 1341 5682 3846 3981 307 2403 2585 3869 263 5641 3486 4579 1522 1146 890 227 1051 3664 844 5220 6253 2115 2228 3658 417 3502 3549 1641 3822 4625 1078 864 3970 2863 710 1790 6362 5279 5910 2144 3985 1928 1725 5268 254 1339 2718 3208 3557 1556 1043 461 3493 6201 5116 2894 4270 2394 5313 368 2895 2609 822 3483 2811 842 5837 4062 814 6168 1655 6285 5291 5906 3235 1253 5025 617 3263 76 6314 6132 4736 2304 1520 4608 144 2786 2769 4005 4156 3752 5212 5666 4640 5484 219 5450 3566 4070 6051 5475 5862 3596 1801 4537 729 3168 3110 5095 4557 4217 453 1137 3337 2680 5145 4302 3402 6136 5280 6449 4251 6255 4253 4099 1248 6404 6268 1750 5029 6237 674 447 15 4792 1628 813 4172 3643 3676 5650 4902 2533 4298 4806 6223 4166 4733 1608 4580 1627 1422 361 3546 4107 4772 2606 2289 2388 1847 862 3702 5492 6483 2188 1262 548 422 2639 4679 2387 4824 690 2752 6164 2439 6510 2882 4743 3207 5631 689 5222 4963 1508 2341 5961 5944 330 2744 2535 4153 5414 236 6476 6660 6257 4725 2662 4528 3380 2632 888 113 5480 2750 2075 5076 2337 5934 2384 1049 2097 5047 5467 438 3335 3251 6607 2901 5767 4439 3798 1275 5924 278 2484 1108 5965 6380 3821 821 5215 3030 3177 4314 929 6508 3097 3264 1944 1226 4199 89 4777 2056 3854 3850 1796 4191 5879 6084 3582 3947 5520 2192 5943 6144 37 110 5989 3830 298 4822 3785 2707 6482 244 3398 3935 3843 1101 5126 5522 2457 679 3013 2928 5386 2975 5539 1381 4838 4171 4961 2298 1745 1222 2862 6264 3660 4347 2218 5180 1307 3902 6182 3475 2556 5457 4605 5969 2880 2601 4194 1593 3369 141 4954 5658 6131 1059 3626 4387 4305 3064 1602 6572 1597 6316 2414 3763 693 3061 1943 1764 356 4043 5327 1960 4132 5953 2777 921 282 1020 6414 2919 246 3647 5737 4830 3350 6600 2825 2059 3326 2749 4114 384 2761 6230 1297 1735 1215 2446 2202 2684 4289 1386 3170 4426 367 5946 499 5948 6265 1865 1703 4482 1904 5674 4468 4142 2745 260 3954 29 329 152 185 5903 4941 3250 4378 3960 3700 3984 4181 5099 1168 5994 6457 532 1347 3715 6238 6092 1042 1905 3533 732 4246 2660 6142 658 150 6140 3357 4214 6515 2527 4238 5620 2958 2349 3791 1577 1418 1148 6354 4372 3800 917 3639 2918 341 5103 4857 4825 772 6145 6218 2106 720 4642 504 6278 137 4984 619 2623 2165 6158 621 3211 1889 3240 2015 834 1976 5448 220 602 4998 5625 4810 3807 5246 6194 2988 1032 6656 2296 5157 6312 2194 4866 6477 3132 494 1452 820 6294 2104 1005 290 2475 5939 4814 3959 5930 2411 4086 775 4616 1898 400 5107 5536 3556 6249 5683 801 1573 1001 2823 3675 369 27 3117 3035 258 5483 2512 868 2036 4918 5769 5873 4820 521 2258 5010 5745 114 5143 3836 1069 655 5824 4078 4231 2559 6225 3577 3619 2229 2330 261 4797 3026 4324 2941 2652 4485 4860 4750 2688 5124 3678 6395 4463 3005 1566 810 5261 1292 4915 3542 4410 4373 5526 4364 4035 561 4891 1133 6052 5550 4756 5490 2295 724 2261 2260 403 3827 358 4261 530 2852 31 5360 4178 1009 2149 1028 302 930 5647 3050 5578 3804 3271 3551 2604 1900 1827 2830 4240 3363 4937 1155 5597 2580 2220 1918 4206 2419 196 5932 662 4489 5888 5665 5591 3429 5663 352 4832 1431 5281 1172 4460 5388 4628 3287 6532 5075 2792 2864 3020 6442 4584 3210 5405 4152 2674 6424 3105 39 936 5393 5412 2846 580 1154 5092 355 4334 5775 3453 4077 134 6632 5384 3512 5926 4543 575 983 6617 1958 2278 887 5066 777 2616 588 4411 4458 6067 6232 3172 2519 498 717 156 1242 4850 4612 4695 2161 659 866 3045 2068 4702 5639 926 3786 5371 3427 402 2180 4162 569 2141 6062 3957 927 5148 6045 3191 4296 485 5819 1004 4585 111 5796 4390 716 5927 1071 6055 995 3404 5087 4051 4039 51 1276 5338 2434 2249 4477 5686 1200 2190 5323 3284 3273 35 1091 3814 1366 5081 1700 6558 1957 609 2504 5771 1678 6262 6002 6135 3961 6184 5213 5310 2317 1406 5649 1178 5571 3213 5773 247 217 2572 334 316 3654 1288 3853 2083 6149 2323 4883 4561 2436 1724 2531 3339 4779 3349 2020 6177 380 5893 1053 3016 6432 4976 1709 1992 3599 4180 2798 5535 1257 1887 5426 1586 3438 2969 1565 4225 2936 385 2267 2776 5834 16 3300 5509 4844 2946 4402 2563 1567 859 629 4637 1400 535 5949 6196 2489 4339 3898 4859 4970 1553 3151 2079 755 6039 2506 5595 3788 289 3434 3734 829 4345 948 4562 3360 2962 4741 1443 276 656 6665 841 4803 4333 2829 6582 3951 5198 3845 5305 695 4233 474 4275 2109 4416 1786 1701 2168 5455 2038 4216 4876 2540 4575 3949 4894 1765 1110 2787 993 3832 1837 1392 1862 5925 1283 4113 74 4988 5545 1509 5570 6336 513 1570 5640 2283 4350 1768 4393 1432 3877 5335 5062 3198 3498 3043 1639 167 3633 766 5755 6649 4665 1965 5973 149 4615 5983 865 5147 4292 4759 6408 2741 4421 429 1858 288 2576 1084 5252 3926 6381 3889 5352 4040 853 2748 5672 2508 745 5461 5842 5866 2178 5207 5852 163 106 5736 1617 5312 6128 4435 6506 4920 2610 3517 3388 3691 3758 4210 4388 6602 5588 5289 1255 58 2355 867 3514 1906 1654 6200 5871 5343 4774 5407 6608 4599 6025 3640 6154 694 5956 5022 2331 1805 3732 2429 1653 2724 2827 1419 2909 6376 2163 3329 6050 2282 4588 6616 1863 4061 3471 364 3106 2350 808 1061 4473 3848 5216 5679 1766 4428 2669 5988 3544 5778 713 5596 4325 1207 966 2570 6427 6588 5917 4424 4975 4080 3216 259 2841 3653 2599 542 4160 4763 2888 6121 2442 2727 2372 4164 1002 5593 442 5003 737 4949 3620 6371 3188 2358 1746 3258 1019 3272 898 4663 4938 2982 5814 6518 5269 4344 1010 893 1575 1956 5097 294 3485 3944 3162 3581 5419 4149 33 6615 1949 229 1359 1299 3265 739 2763 4312 6008 5798 4087 6624 4980 126 4137 3914 6645 6598 2549 420 5987 5375 4785 5848 3716 5826 882 5042 4566 5302 5478 4966 2070 459 5355 6545 1603 44 5181 589 3154 3090 5445 5026 1618 1535 992 3862 2084 2536 6306 488 2481 325 5727 2336 2433 6549 3356 1732 3499 424 4848 6625 4530 5942 436 1920 4685 3681 3539 945 6623 3685 6026 4922 4018 279 5895 1112 3352 315 5084 751 2872 815 5367 3841 2233 5219 1503 138 4258 6451 5801 2932 559 1708 3698 4136 321 6214 1130 1350 1699 6189 2683 5159 433 3459 5442 5348 1430 2738 64 1382 3778 3477 3497 1806 3710 6410 4048 554 43 4059 1850 4813 1661 5878 4058 3851 5652 6293 1506 4467 6644 5708 4630 1988 4909 3746 1219 1055 3425 48 2211 372 6106 6010 6224 1855 6464 3744 5756 2023 1751 3975 5185 5369 5000 6550 4754 3616 1901 3919 1572 5841 5322 4155 4148 6240 2476 6500 557 1981 5574 4589 5404 4170 4431 3721 216 3635 1096 4479 5005 5142 1413 931 4133 6382 2259 3057 3882 1552 4648 1356 1150 5380 348 1537 6048 1075 5628 5833 218 5230 5474 5161 1633 5783 3697 4856 3632 3923 4638 4729 2321 2210 2986 4082 892 803 2523 3392 5247 2868 1809 6338 2579 4906 3414 264 5459 3343 6234 1779 3589 6279 6326 1939 1122 759 6156 462 4914 1995 4444 5086 365 3041 5655 3618 2007 1773 1337 5046 2695 4163 5764 1664 4380 1022 170 797 3 4226 398 1581 2913 3669 2935 2522 6445 5444 1757 195 2417 1295 4989 2347 1829 4257 4995 4343 4227 4784 4548 2502 4176 4512 773 1971 4230 5498 915 3249 1588 6456 1491 1294 928 2021 682 5512 2708 1332 6405 2205 1514 1281 3217 5863 4376 2147 6179 3680 5739 5416 5359 2392 4508 3767 1660 5958 456 187 2048 6283 3572 4621 5598 133 5753 4115 1555 4837 873 1065 1910 397 207 3973 6250 786 6298 1261 5959 3490 5401 3787 2356 5330 1136 471 4816 6640 937 396 3436 518 4868 3440 3441 1499 4215 53 4982 1185 4893 6619 2514 2427 4204 1945 586 4212 6066 5581 3588 3133 2832 2513 180 2949 1856 314 669 757 1935 1116 1551 5326 5931 5423 3990 5499 4197 3507 4351 6102 98 2518 4278 5184 6235 4698 599 3102 2359 6217 502 2520 3297 3023 4852 2467 2269 4277 5385 3364 5722 1621 3891 901 3253 6021 3929 2449 5619 5452 2454 3428 1526 1599 2739 2014 3648 4925 3768