a327904410 发表于 2021-11-2 23:54:53

好烦这些处理数据量大的题

问题描述
  数轴上有n个数字,求最近的两个数,即min(abs(x-y))
输入格式
  第一行包含一个整数n。
  接下来一行,表示n整数。
输出格式
  一个整数表示最小距离
样例输入
6
7 3 4 11 9 17
样例输出
1

处理少数答案是对的,但处理庞大数据时候运行超时

#include<stdio.h>
#include<stdlib.h>

int num;
int main() {
        int n, i, j;
        scanf("%d", &n);
        for (i = 0; i < n; i++) {
                scanf("%d", &num);
        }
        int min, flag = 1;
        for (i = 0; i < n; i++) {
                for (j = 0; j < n; j++) {
                        if (i == j)      // 匹配到自己则跳过
                                continue;
                        if (flag == 1) {   // 存放第一个最小数
                                min = abs(num - num);
                                flag--;
                        }
                        if (min > abs(num - num))    // 比较
                                min = abs(num - num);
                }
        }
        printf("%d", min);
        return 0;
}

a327904410 发表于 2021-11-2 23:55:37

有几个答案数的个数都到达5w和10w,不知道怎么缩短运行时间

a327904410 发表于 2021-11-2 23:57:01

输入
5000
38 74 98 140 239 343 442 506 534 565 619 701 767 861 949 1048 1130 1214 1239 1253 1365 1477 1573 1670 1704 1748 1762 1827 1925 1939 2041 2132 2170 2224 2282 2322 2344 2450 2526 2600 2674 2724 2770 2883 2913 2927 2969 3023 3093 3142 3255 3344 3454 3484 3522 3620 3660 3694 3738 3783 3896 4008 4108 4195 4221 4285 4349 4367 4465 4549 4583 4607 4719 4784 4814 4843 4913 4927 4985 5079 5165 5219 5309 5391 5449 5463 5517 5581 5595 5617 5632 5696 5762 5858 5890 5957 6021 6042 6076 6106 6207 6319 6335 6419 6450 6500 6610 6696 6775 6854 6908 7010 7034 7095 7124 7198 7288 7382 7401 7415 7473 7527 7593 7627 7701 7747 7839 7945 8046 8082 8141 8185 8227 8301 8355 8389 8407 8437 8451 8529 8623 8647 8681 8701 8775 8822 8908 8992 9072 9129 9155 9208 9265 9329 9367 9396 9484 9567 9670 9766 9795 9839 9902 9931 9980 10061 10091 10203 10227 10243 10297 10404 10502 10552 10595 10649 10713 10802 10848 10898 10998 11042 11067 11171 11205 11284 11346 11360 11410 11459 11548 11602 11623 11697 11793 11847 11950 12029 12078 12096 12162 12232 12286 12370 12478 12519 12593 12678 12735 12824 12904 12966 13036 13050 13104 13184 13279 13318 13372 13456 13534 13592 13651 13759 13781 13875 13931 14041 14139 14161 14238 14331 14397 14471 14575 14621 14657 14704 14806 14857 14951 14965 15029 15129 15207 15225 15319 15357 15463 15531 15597 15612 15708 15786 15849 15890 15934 16047 16097 16125 16167 16211 16233 16275 16305 16372 16457 16471 16489 16573 16593 16626 16665 16679 16731 16773 16841 16892 16924 16958 17004 17050 17159 17248 17334 17370 17477 17495 17559 17585 17633 17719 17785 17870 17952 18040 18086 18136 18191 18277 18339 18397 18426 18440 18539 18595 18669 18693 18753 18812 18898 18942 19034 19123 19147 19248 19334 19400 19446 19488 19558 19622 19700 19800 19833 19887 19943 19985 20036 20145 20191 20225 20279 20389 20428 20452 20494 20558 20599 20619 20673 20711 20753 20777 20811 20909 20996 21068 21179 21201 21245 21315 21371 21443 21457 21541 21625 21731 21790 21856 21874 21920 21968 22047 22148 22222 22277 22378 22469 22571 22657 22677 22779 22883 22986 23083 23188 23222 23284 23370 23464 23478 23492 23532 23635 23689 23771 23837 23901 23932 24029 24097 24161 24271 24323 24387 24451 24545 24639 24721 24815 24889 24913 24952 24985 25095 25129 25201 25274 25326 25408 25461 25559 25661 25735 25784 25856 25965 26017 26031 26047 26143 26169 26208 26300 26412 26466 26564 26630 26696 26796 26830 26908 26923 26977 27011 27085 27123 27156 27255 27297 27371 27425 27439 27455 27497 27569 27615 27711 27735 27769 27843 27917 27931 27949 27968 28065 28095 28165 28197 28261 28327 28386 28469 28509 28571 28595 28629 28727 28793 28807 28866 28958 29044 29148 29220 29290 29304 29325 29339 29415 29481 29530 29602 29628 29708 29782 29844 29933 30003 30112 30222 30293 30347 30459 30475 30521 30599 30689 30733 30765 30794 30904 30950 31063 31137 31233 31272 31321 31419 31487 31549 31567 31665 31765 31834 31932 31978 32077 32141 32187 32242 32268 32359 32428 32478 32514 32586 32652 32721 32803 32821 32922 32987 33029 33139 33229 33327 33363 33415 33521 33607 33641 33670 33703 33755 33814 33904 33971 34021 34103 34173 34230 34272 34356 34400 34454 34496 34555 34621 34635 34679 34778 34792 34854 34910 34976 35030 35074 35140 35248 35309 35372 35386 35492 35566 35580 35646 35743 35771 35877 35946 35974 36071 36153 36250 36284 36301 36339 36435 36469 36535 36594 36652 36716 36790 36902 36928 36942 36981 37001 37047 37065 37145 37231 37276 37374 37398 37464 37527 37607 37632 37742 37784 37818 37916 37975 38041 38127 38165 38275 38349 38410 38441 38531 38569 38591 38670 38774 38868 38979 39068 39153 39249 39341 39391 39449 39525 39599 39673 39783 39808 39910 39949 40043 40121 40227 40293 40311 40405 40437 40549 40623 40687 40736 40838 40922 40948 41042 41058 41095 41118 41148 41252 41356 41442 41470 41484 41572 41656 41690 41800 41842 41909 41950 42060 42136 42184 42248 42262 42296 42370 42472 42507 42613 42691 42757 42799 42844 42934 42952 43065 43089 43183 43252 43295 43325 43356 43450 43536 43561 43654 43668 43722 43737 43796 43818 43847 43881 43929 43999 44035 44069 44159 44233 44247 44322 44352 44382 44434 44536 44610 44668 44717 44739 44833 44883 44990 45096 45199 45213 45237 45322 45426 45500 45536 45600 45672 45750 45792 45869 45933 45958 45997 46055 46113 46147 46255 46300 46318 46357 46458 46552 46658 46706 46768 46806 46882 46940 47023 47096 47139 47167 47191 47293 47352 47422 47494 47508 47580 47627 47649 47706 47730 47792 47905 47948 47987 48089 48175 48191 48289 48323 48374 48450 48513 48587 48660 48721 48785 48879 48921 48940 48978 49052 49092 49172 49259 49337 49423 49513 49561 49611 49646 49748 49832 49924 49968 50014 50078 50188 50276 50350 50456 50550 50652 50756 50776 50822 50906 51000 51076 51114 51223 51297 51321 51363 51455 51469 51537 51618 51666 51718 51732 51803 51895 51997 52036 52086 52122 52216 52253 52340 52362 52402 52465 52551 52625 52662 52771 52834 52848 52956 53042 53056 53070 53167 53185 53218 53318 53419 53513 53619 53633 53673 53697 53746 53820 53834 53888 53916 54013 54069 54103 54209 54248 54287 54381 54433 54491 54595 54639 54737 54801 54887 54921 55020 55106 55123 55227 55317 55361 55392 55485 55511 55572 55641 55657 55711 55732 55791 55856 55941 55996 56070 56156 56242 56328 56342 56423 56441 56487 56530 56624 56649 56723 56825 56922 57000 57044 57130 57217 57231 57285 57323 57396 57470 57496 57536 57630 57742 57785 57887 57921 58025 58089 58148 58198 58233 58307 58376 58434 58508 58554 58568 58650 58672 58762 58851 58917 58938 58972 59082 59134 59188 59280 59302 59330 59394 59437 59550 59618 59676 59759 59815 59901 59940 59989 60019 60085 60163 60213 60275 60301 60391 60432 60534 60562 60620 60638 60704 60758 60864 60926 60940 60966 61056 61144 61240 61284 61382 61484 61570 61675 61731 61817 61835 61929 61991 62095 62171 62185 62259 62324 62420 62494 62578 62642 62704 62743 62837 62911 63006 63066 63152 63239 63256 63354 63448 63466 63534 63548 63574 63588 63646 63703 63732 63766 63840 63904 64007 64115 64185 64277 64343 64434 64494 64572 64678 64696 64730 64810 64904 64950 65008 65079 65165 65239 65326 65355 65466 65510 65569 65623 65723 65747 65829 65941 65959 66025 66059 66133 66181 66216 66321 66385 66453 66531 66561 66607 66701 66719 66755 66785 66811 66829 66923 67010 67044 67121 67227 67325 67373 67443 67487 67564 67667 67689 67751 67810 67884 67937 67968 68034 68048 68062 68106 68142 68227 68285 68343 68422 68498 68552 68596 68702 68776 68859 68883 68917 68939 69045 69078 69178 69287 69315 69425 69519 69537 69621 69653 69683 69777 69823 69909 69937 70021 70049 70099 70183 70296 70330 70347 70391 70445 70539 70587 70673 70687 70707 70809 70851 70874 70960 71009 71122 71200 71294 71378 71412 71454 71543 71587 71693 71747 71841 71855 71929 72003 72045 72079 72132 72168 72266 72364 72469 72499 72569 72583 72695 72787 72833 72887 72989 73067 73089 73179 73259 73357 73459 73498 73542 73622 73696 73720 73750 73788 73882 73961 74021 74131 74205 74219 74257 74321 74396 74456 74482 74592 74654 74718 74812 74878 74912 74989 75017 75066 75138 75242 75264 75370 75384 75491 75573 75671 75735 75809 75843 75897 75939 76052 76089 76115 76129 76207 76310 76329 76409 76507 76591 76671 76729 76812 76918 76952 77046 77096 77130 77228 77244 77306 77320 77419 77523 77563 77652 77727 77768 77814 77888 77929 78035 78071 78142 78207 78241 78296 78360 78374 78412 78507 78565 78615 78709 78726 78784 78823 78870 78905 78942 79032 79070 79134 79161 79248 79328 79354 79418 79477 79541 79620 79670 79692 79782 79818 79909 79939 80002 80037 80075 80091 80169 80218 80254 80336 80370 80432 80488 80583 80597 80647 80720 80782 80840 80924 81006 81024 81072 81106 81168 81231 81281 81339 81408 81446 81492 81590 81609 81715 81789 81847 81919 81937 81951 81980 82087 82136 82230 82256 82273 82291 82333 82391 82405 82507 82545 82623 82645 82729 82745 82807 82849 82915 82939 83041 83149 83198 83244 83308 83348 83452 83518 83599 83653 83723 83795 83899 83943 83990 84048 84114 84224 84298 84352 84426 84440 84538 84642 84670 84774 84840 84884 84988 85092 85174 85227 85335 85445 85524 85618 85699 85778 85820 85867 85897 86001 86041 86148 86226 86262 86346 86432 86530 86599 86658 86740 86830 86858 86885 86979 87019 87085 87164 87252 87328 87370 87444 87498 87528 87580 87690 87756 87862 87896 87945 88039 88053 88102 88141 88191 88303 88351 88365 88463 88493 88592 88618 88708 88774 88857 88935 89019 89073 89149 89198 89252 89318 89370 89464 89478 89576 89668 89756 89814 89900 89956 90054 90084 90183 90261 90306 90383 90401 90448 90538 90648 90746 90850 90884 90934 90950 90996 91053 91091 91151 91240 91270 91350 91420 91454 91508 91552 91606 91649 91725 91775 91839 91907 92014 92098 92118 92217 92285 92365 92380 92414 92508 92522 92631 92680 92694 92708 92730 92744 92854 92882 92952 92980 93051 93075 93133 93227 93288 93354 93393 93412 93518 93587 93662 93774 93788 93897 93991 94027 94061 94078 94143 94205 94279 94327 94351 94463 94566 94603 94657 94695 94773 94885 94977 95023 95038 95140 95203 95309 95323 95373 95467 95553 95616 95630 95644 95658 95697 95743 95809 95867 95956 95995 96093 96107 96164 96247 96326 96360 96406 96425 96507 96571 96585 96599 96633 96702 96792 96830 96898 97007 97101 97139 97241 97304 97358 97426 97446 97494 97548 97656 97694 97797 97864 97928 97980 98055 98106 98156 98195 98225 98335 98423 98453 98519 98581 98692 98751 98779 98879 98901 98990 99078 99172 99208 99263 99329 99413 99451 99535 99609 99625 99671 99685 99759 99778 99798 99817 99863 99971 100080 100150 100170 100238 100312 100386 100484 100498 100584 100658 100685 100769 100795 100893 100957 101070 101148 101246 101348 101376 101461 101539 101633 101695 101721 101810 101914 101978 101992 102071 102157 102266 102328 102387 102445 102459 102485 102545 102651 102678 102740 102804 102902 103006 103052 103114 103177 103195 103271 103381 103429 103489 103508 103597 103679 103707 103761 103849 103946 103988 104094 104118 104216 104245 104286 104300 104326 104340 104390 104488 104557 104587 104651 104735 104829 104859 104929 104947 105057 105109 105208 105228 105278 105310 105358 105428 105505 105519 105590 105631 105710 105802 105892 105925 105939 105996 106102 106121 106160 106249 106286 106328 106392 106461 106515 106566 106600 106694 106708 106748 106808 106852 106914 106928 106962 107004 107096 107190 107257 107295 107406 107430 107449 107467 107545 107639 107697 107765 107869 107917 107991 108010 108104 108154 108244 108310 108412 108468 108542 108576 108666 108754 108792 108886 108917 108969 109078 109122 109194 109208 109266 109367 109405 109488 109556 109589 109667 109747 109769 109788 109872 109916 109980 110020 110118 110206 110244 110316 110377 110437 110501 110565 110613 110719 110764 110778 110867 110972 111058 111100 111144 111243 111341 111415 111521 111599 111613 111647 111721 111803 111899 111999 112069 112143 112173 112286 112302 112396 112487 112541 112599 112623 112667 112697 112803 112829 112915 112985 113068 113126 113200 113302 113385 113468 113493 113553 113599 113671 113686 113702 113778 113852 113926 114004 114062 114094 114188 114277 114347 114375 114410 114512 114555 114594 114661 114714 114740 114796 114840 114885 114976 114993 115007 115041 115071 115101 115210 115296 115345 115362 115464 115546 115604 115628 115690 115744 115783 115822 115844 115862 115931 115976 116070 116120 116138 116178 116232 116302 116376 116432 116525 116549 116572 116671 116760 116842 116894 116923 116967 117011 117053 117139 117223 117257 117325 117370 117388 117402 117464 117546 117590 117667 117713 117791 117875 117913 117955 117987 118062 118142 118211 118245 118323 118422 118512 118598 118612 118714 118759 118789 118860 118918 118944 118978 119046 119083 119147 119234 119318 119410 119460 119492 119558 119628 119721 119823 119865 119967 120023 120129 120207 120251 120317 120331 120410 120514 120528 120577 120633 120691 120729 120766 120792 120823 120909 120983 120998 121012 121105 121188 121278 121302 121355 121412 121446 121535 121639 121726 121796 121904 121997 122092 122145 122214 122233 122339 122412 122426 122440 122522 122616 122645 122712 122775 122809 122920 122990 123100 123158 123202 123264 123318 123414 123442 123468 123498 123588 123692 123732 123845 123955 124009 124035 124065 124145 124198 124268 124352 124463 124557 124651 124725 124831 124943 124969 125013 125027 125057 125072 125172 125204 125218 125287 125374 125427 125464 125566 125588 125618 125655 125761 125841 125870 125912 126002 126077 126137 126203 126277 126374 126428 126452 126533 126576 126642 126664 126703 126793 126811 126902 126920 126984 126998 127092 127175 127221 127315 127329 127391 127447 127486 127570 127592 127686 127735 127829 127883 127993 128103 128125 128215 128259 128289 128378 128402 128436 128514 128568 128589 128623 128661 128725 128835 128935 128954 129055 129097 129150 129260 129274 129370 129436 129526 129638 129652 129698 129806 129858 129888 129939 129981 130002 130068 130102 130209 130293 130351 130411 130425 130487 130596 130629 130741 130827 130886 130904 130920 130960 131018 131047 131131 131185 131229 131254 131327 131383 131474 131499 131557 131631 131659 131770 131869 131915 131989 132046 132120 132154 132184 132252 132320 132344 132408 132462 132532 132640 132714 132735 132769 132827 132889 132983 133068 133090 133164 133214 133289 133347 133401 133475 133513 133589 133676 133711 133753 133847 133920 133939 133965 133986 134074 134148 134252 134319 134343 134367 134423 134481 134512 134531 134585 134667 134683 134792 134894 134950 134969 135008 135056 135140 135184 135218 135261 135359 135403 135445 135539 135642 135708 135809 135833 135847 135948 136054 136163 136251 136335 136445 136499 136541 136565 136634 136649 136693 136747 136801 136902 136916 136974 137008 137088 137172 137214 137228 137246 137300 137389 137464 137532 137604 137703 137780 137814 137842 137952 137970 138040 138079 138119 138185 138199 138233 138322 138424 138500 138586 138699 138777 138864 138890 138924 139018 139094 139148 139187 139276 139358 139372 139464 139490 139518 139627 139641 139710 139738 139816 139850 139925 139995 140021 140073 140175 140241 140330 140374 140444 140528 140543 140589 140674 140763 140805 140897 140943 140982 141032 141111 141201 141241 141265 141355 141379 141445 141535 141641 141679 141753 141797 141871 141967 142011 142099 142175 142217 142279 142353 142375 142389 142493 142549 142571 142589 142666 142750 142782 142880 142934 142992 143022 143052 143112 143170 143239 143268 143294 143356 143394 143408 143466 143497 143586 143647 143683 143741 143835 143938 144036 144142 144181 144207 144306 144330 144404 144479 144528 144546 144595 144649 144679 144778 144807 144879 144951 145025 145043 145058 145088 145162 145256 145298 145352 145370 145456 145488 145590 145696 145795 145817 145872 145908 145932 145950 145964 146068 146152 146259 146349 146460 146481 146565 146603 146651 146725 146751 146849 146923 147012 147107 147179 147238 147252 147334 147428 147492 147562 147648 147679 147787 147839 147937 148013 148047 148119 148166 148250 148271 148329 148396 148485 148567 148657 148747 148819 148925 148979 149035 149069 149083 149145 149189 149208 149302 149367 149463 149557 149587 149645 149683 149792 149845 149871 149945 150022 150066 150127 150209 150273 150287 150341 150395 150493 150597 150646 150700 150768 150862 150944 150990 151079 151097 151146 151220 151293 151359 151429 151449 151479 151554 151648 151756 151867 151885 151925 151979 151993 152024 152118 152132 152239 152287 152316 152377 152454 152518 152602 152688 152797 152904 152952 152980 153062 153170 153206 153244 153308 153340 153451 153499 153551 153620 153694 153805 153819 153873 153963 154073 154131 154198 154256 154368 154466 154537 154571 154639 154674 154758 154804 154843 154857 154887 154991 155023 155105 155183 155197 155215 155249 155331 155413 155507 155537 155559 155649 155666 155682 155746 155767 155788 155872 155938 155972 156074 156178 156198 156267 156291 156339 156353 156415 156488 156532 156626 156668 156722 156746 156760 156854 156870 156928 157026 157048 157094 157113 157189 157233 157299 157337 157443 157457 157482 157584 157623 157662 157726 157816 157838 157908 158002 158111 158128 158142 158172 158236 158284 158326 158396 158439 158533 158630 158655 158669 158686 158756 158867 158926 159004 159098 159114 159188 159231 159259 159355 159409 159435 159509 159564 159578 159592 159679 159713 159806 159905 159991 160097 160130 160166 160272 160317 160332 160420 160456 160568 160652 160706 160720 160778 160888 160944 161040 161116 161222 161260 161326 161380 161422 161455 161559 161657 161717 161749 161833 161891 161997 162041 162092 162198 162228 162271 162303 162357 162411 162485 162507 162542 162594 162633 162667 162745 162809 162846 162944 162962 163011 163025 163051 163099 163185 163215 163274 163348 163436 163504 163520 163633 163647 163745 163771 163816 163881 163917 164015 164034 164136 164160 164188 164236 164338 164420 164481 164514 164583 164637 164726 164775 164813 164921 164965 165019 165077 165173 165255 165350 165364 165474 165488 165522 165632 165686 165730 165760 165803 165912 165951 166010 166088 166102 166204 166314 166364 166398 166472 166503 166555 166597 166627 166712 166742 166810 166889 166939 166989 167083 167097 167133 167205 167269 167367 167446 167498 167603 167716 167740 167754 167776 167790 167824 167872 167942 168024 168098 168144 168196 168279 168338 168390 168492 168591 168700 168810 168879 168961 169001 169050 169144 169214 169267 169303 169336 169433 169455 169514 169608 169698 169779 169800 169826 169916 169964 170014 170052 170126 170140 170190 170254 170300 170370 170408 170512 170538 170636 170670 170724 170807 170889 170968 171050 171086 171139 171167 171181 171211 171310 171354 171437 171499 171533 171627 171713 171759 171861 171882 171926 171996 172056 172101 172119 172181 172219 172283 172319 172333 172387 172456 172534 172600 172650 172713 172823 172841 172925 172965 173074 173184 173284 173358 173372 173470 173541 173635 173689 173739 173802 173831 173933 173985 174062 174090 174134 174182 174230 174276 174350 174392 174438 174532 174588 174663 174697 174784 174888 174977 175041 175115 175143 175157 175214 175308 175354 175398 175441 175505 175539 175645 175662 175676 175778 175792 175836 175902 175936 176006 176095 176144 176245 176335 176373 176396 176504 176578 176673 176703 176805 176851 176909 176971 177010 177105 177151 177225 177275 177377 177419 177483 177553 177646 177673 177759 177861 177876 177915 178017 178067 178109 178199 178213 178299 178396 178466 178544 178612 178706 178786 178877 178957 179007 179034 179138 179205 179229 179323 179393 179469 179513 179532 179570 179588 179699 179782 179850 179864 179965 179999 180075 180185 180266 180328 180415 180514 180578 180617 180645 180732 180781 180870 180974 181084 181180 181260 181359 181451 181495 181568 181680 181782 181865 181907 181957 182021 182102 182193 182232 182306 182336 182378 182423 182467 182533 182605 182655 182737 182801 182815 182909 182996 183060 183127 183141 183200 183255 183365 183433 183472 183501 183591 183653 183672 183710 183789 183851 183947 184044 184086 184100 184144 184199 184253 184311 184345 184412 184522 184625 184655 184755 184813 184865 184933 185015 185124 185166 185209 185271 185293 185398 185422 185444 185464 185522 185564 185658 185718 185802 185816 185886 185961 186023 186045 186108 186198 186241 186351 186401 186503 186588 186692 186741 186827 186881 186899 186989 187043 187081 187101 187135 187149 187210 187282 187296 187405 187476 187553 187624 187714 187748 187860 187936 187966 188064 188170 188272 188290 188384 188400 188494 188509 188557 188611 188675 188721 188781 188875 188910 188958 188986 189050 189080 189142 189212 189227 189255 189273 189317 189391 189469 189527 189581 189629 189646 189697 189765 189855 189899 189931 189985 190088 190104 190154 190210 190259 190285 190310 190355 190449 190493 190525 190539 190616 190642 190656 190718 190792 190871 190942 190980 191030 191143 191205 191259 191319 191357 191405 191427 191495 191597 191637 191686 191788 191834 191914 192000 192046 192158 192244 192298 192372 192436 192488 192522 192595 192664 192728 192762 192856 192954 192993 193021 193055 193108 193215 193301 193335 193409 193428 193442 193472 193571 193587 193629 193738 193808 193822 193836 193930 193979 194073 194167 194279 194369 194430 194534 194598 194652 194676 194721 194815 194921 194980 195055 195090 195184 195226 195304 195319 195384 195448 195482 195546 195616 195642 195674 195762 195867 195883 195961 196037 196051 196139 196188 196250 196292 196346 196376 196394 196476 196544 196627 196688 196748 196812 196878 196948 197010 197094 197196 197302 197316 197382 197471 197529 197543 197646 197726 197832 197926 197940 197983 198051 198069 198093 198137 198223 198313 198387 198420 198438 198496 198538 198614 198684 198774 198847 198907 198973 199080 199189 199255 199309 199333 199379 199447 199525 199539 199632 199714 199818 199837 199935 199989 200063 200111 200150 200209 200231 200305 200357 200376 200450 200514 200591 200700 200730 200799 200813 200845 200944 200968 200986 201056 201134 201185 201264 201346 201392 201496 201601 201615 201689 201707 201726 201818 201862 201942 202036 202055 202144 202218 202241 202301 202341 202396 202445 202550 202644 202695 202713 202728 202772 202798 202908 202992 203095 203123 203137 203239 203331 203406 203432 203488 203592 203626 203654 203720 203742 203756 203818 203860 203928 204017 204047 204131 204239 204335 204349 204423 204457 204505 204607 204678 204736 204826 204930 204961 205071 205159 205189 205288 205318 205354 205388 205454 205565 205589 205623 205693 205745 205788 205876 205983 206010 206054 206156 206221 206251 206321 206418 206512 206536 206550 206568 206620 206676 206734 206766 206798 206852 206869 206959 207058 207140 207169 207270 207332 207426 207492 207571 207607 207707 207759 207793 207817 207878 207925 207961 207990 208052 208163 208241 208307 208413 208505 208617 208677 208724 208828 208877 208898 209002 209102 209165 209199 209265 209329 209343 209429 209446 209476 209518 209576 209635 209723 209833 209903 209937 210042 210124 210174 210216 210238 210332 210397 210479 210529 210631 210670 210774 210853 210893 210932 210948 210966 211056 211084 211158 211240 211346 211400 211423 211460 211542 211570 211640 211692 211773 211859 211965 212004 212093 212156 212240 212308 212349 212420 212526 212612 212720 212744 212846 212920 212951 213047 213063 213165 213199 213241 213347 213365 213396 213410 213435 213517 213589 213655 213754 213793 213879 213941 213970 214004 214028 214096 214115 214188 214282 214390 214450 214499 214522 214574 214676 214753 214839 214937 214981 215007 215031 215117 215213 215247 215315 215374 215470 215529 215571 215601 215622 215684 215777 215887 215957 215986 216072 216146 216225 216254 216294 216347 216445 216507 216521 216585 216687 216747 216761 216804 216875 216949 216987 217033 217119 217211 217228 217315 217330 217440 217490 217508 217612 217651 217717 217774 217838 217927 218007 218113 218223 218287 218391 218460 218503 218609 218717 218823 218853 218957 219023 219118 219184 219268 219372 219461 219503 219530 219568 219639 219674 219748 219772 219824 219838 219907 219991 220011 220030 220116 220210 220304 220390 220418 220505 220519 220608 220682 220696 220756 220825 220868 220882 220976 221077 221159 221233 221342 221428 221494 221508 221620 221682 221706 221780 221888 221982 222029 222043 222117 222181 222231 222266 222308 222332 222427 222517 222602 222625 222712 222801 222865 222888 222927 222973 223057 223098 223202 223290 223366 223402 223432 223534 223608 223630 223648 223750 223844 223882 223909 223927 223942 224029 224073 224099 224161 224266 224324 224406 224424 224458 224486 224534 224548 224654 224760 224824 224896 224994 225020 225082 225096 225138 225152 225178 225252 225354 225464 225537 225610 225703 225798 225908 225998 226035 226055 226161 226243 226289 226381 226475 226588 226658 226754 226796 226858 226924 226948 227008 227050 227114 227138 227247 227309 227373 227387 227431 227541 227572 227669 227768 227850 227960 227974 228053 228155 228221 228235 228329 228419 228515 228580 228632 228735 228809 228920 229005 229071 229167 229201 229231 229279 229369 229444 229489 229588 229686 229704 229787 229865 229914 230016 230094 230108 230172 230212 230262 230324 230359 230414 230487 230519 230533 230623 230674 230775 230849 230907 230941 230983 231032 231046 231122 231235 231312 231398 231412 231494 231596 231618 231662 231760 231812 231851 231916 232021 232036 232090 232184 232284 232346 232413 232436 232516 232530 232580 232650 232699 232793 232862 232888 232918 232964 233013 233100 233186 233253 233327 233341 233403 233497 233551 233585 233647 233662 233758 233787 233865 233914 233976 234018 234126 234156 234196 234290 234366 234400 234422 234472 234489 234526 234553 234641 234707 234743 234818 234875 234972 235021 235125 235189 235229 235313 235345 235369 235383 235421 235447 235473 235572 235586 235670 235749 235801 235886 235900 235981 236077 236158 236257 236331 236413 236447 236525 236593 236695 236771 236816 236890 236948 237000 237020 237065 237109 237203 237267 237285 237326 237390 237454 237518 237569 237613 237719 237779 237852 237876 237960 238018 238082 238096 238202 238256 238340 238434 238504 238543 238597 238617 238637 238675 238768 238782 238796 238826 238886 238972 239048 239062 239106 239128 239234 239248 239307 239399 239417 239481 239593 239651 239741 239814 239853 239927 240037 240103 240125 240167 240189 240288 240319 240413 240487 240581 240595 240651 240725 240783 240833 240855 240949 241045 241145 241173 241237 241321 241335 241369 241467 241545 241583 241635 241729 241757 241783 241827 241851 241947 241968 242032 242096 242170 242256 242334 242396 242501 242517 242603 242670 242754 242788 242822 242858 242874 242951 242969 243058 243072 243181 243280 243344 243390 243480 243578 243632 243744 243789 243847 243915 243997 244031 244059 244137 244207 244240 244310 244324 244382 244461 244545 244623 244644 244709 244751 244821 244867 244957 245027 245041 245104 245217 245247 245320 245334 245427 245441 245545 245629 245675 245694 245716 245766 245780 245884 245952 246061 246075 246130 246194 246244 246328 246430 246531 246643 246685 246729 246807 246863 246973 247026 247092 247110 247172 247270 247364 247378 247422 247516 247562 247616 247662 247721 247827 247877 247921 247938 248036 248092 248154 248214 248281 248390 248424 248470 248555 248619 248717 248755 248809 248873 248971 249045 249157 249249 249319 249425 249491 249570 249596 249701 249733 249747 249841 249905 249969 250028 250094 250140 250186 250260 250372 250465 250523 250567 250621 250635 250681 250711 250759 250825 250850 250930 250965 251039 251073 251099 251173 251187 251241 251337 251367 251465 251511 251545 251597 251619 251681 251741 251775 251881 251993 252047 252141 252215 252273 252296 252350 252368 252473 252538 252617 252681 252749 252777 252843 252953 253057 253128 253142 253170 253279 253359 253423 253447 253521 253535 253577 253651 253700 253724 253808 253852 253891 253945 254019 254089 254199 254234 254313 254391 254483 254531 254562 254634 254673 254711 254783 254804 254818 254852 254897 254925 255015 255050 255152 255193 255247 255329 255367 255412 255518 255587 255654 255733 255807 255841 255928 255992 256026 256120 256223 256247 256287 256349 256403 256417 256511 256589 256613 256647 256707 256727 256791 256821 256901 256985 257044 257063 257107 257213 257257 257293 257386 257480 257494 257570 257632 257650 257664 257731 257754 257793 257851 257945 258021 258035 258137 258157 258263 258363 258377 258429 258469 258578 258616 258630 258732 258766 258816 258854 258928 258974 259060 259154 259208 259238 259252 259282 259313 259415 259460 259512 259586 259644 259670 259716 259744 259857 259879 259973 260079 260103 260183 260270 260324 260432 260510 260547 260621 260667 260682 260744 260786 260834 260850 260920 260939 261033 261103 261130 261230 261329 261373 261467 261539 261578 261614 261673 261767 261876 261892 261994 262072 262114 262151 262256 262280 262300 262364 262400 262418 262502 262594 262674 262744 262758 262859 262913 262965 263029 263123 263149 263251 263277 263351 263370 263460 263532 263632 263742 263818 263906 264016 264106 264192 264206 264250 264347 264415 264501 264550 264624 264648 264710 264798 264898 264982 265031 265050 265086 265160 265206 265252 265352 265391 265489 265533 265587 265668 265752 265792 265850 265924 265983 266060 266116 266189 266217 266247 266343 266411 266442 266536 266646 266730 266811 266850 266945 266994 267023 267122 267151 267165 267199 267240 267346 267370 267454 267468 267540 267559 267581 267603 267691 267757 267779 267852 267936 267980 268034 268143 268229 268253 268323 268435 268533 268551 268565 268579 268653 268747 268841 268860 268932 268990 269058 269074 269168 269226 269275 269314 269356 269460 269480 269590 269605 269643 269709 269803 269817 269831 269885 269955 270043 270067 270116 270186 270252 270326 270379 270459 270511 270593 270679 270715 270821 270835 270873 270964 271073 271177 271231 271329 271383 271429 271536 271598 271628 271687 271781 271859 271933 271959 271975 272014 272068 272092 272170 272249 272308 272382 272441 272530 272563 272612 272630 272729 272754 272808 272877 272971 273012 273069 273087 273177 273286 273346 273384 273418 273480 273544 273634 273694 273764 273871 273931 274044 274140 274234 274248 274310 274344 274405 274461 274525 274601 274636 274726 274764 274856 274950 275045 275063 275136 275166 275235 275309 275350 275446 275490 275556 275605 275673 275747 275786 275800 275858 275872 275966 276065 276107 276181 276279 276322 276384 276422 276480 276590 276664 276774 276838 276865 276879 276924 276962 277044 277078 277112 277143 277185 277295 277368 277452 277482 277568 277597 277655 277731 277768 277846 277880 277934 278000 278014 278096 278185 278264 278322 278336 278426 278530 278572 278676 278720 278734 278814 278876 278975 279079 279123 279179 279252 279321 279411 279437 279475 279577 279597 279631 279705 279719 279795 279827 279844 279908 279984 280002 280044 280078 280170 280264 280290 280340 280372 280436 280470 280580 280638 280672 280726 280772 280800 280838 280856 280919 280933 281007 281079 281174 281257 281291 281333 281419 281517 281539 281581 281607 281643 281755 281794 281888 281939 281988 282044 282120 282146 282196 282254 282304 282406 282459 282531 282619 282713 282817 282886 282971 283035 283110 283172 283194 283284 283348 283396 283476 283530 283594 283683 283719 283807 283831 283887 283995 284015 284085 284189 284276 284366 284386 284482 284528 284582 284648 284710 284752 284811 284826 284904 285008 285058 285072 285086 285199 285277 285311 285375 285405 285419 285478 285518 285628 285702 285728 285752 285846 285920 285944 285998 286084 286191 286213 286242 286281 286381 286408 286430 286462 286501 286545 286585 286649 286686 286716 286735 286835 286889 286923 286953 286987 287021 287091 287118 287202 287302 287340 287384 287409 287503 287517 287555 287573 287607 287637 287655 287709 287773 287839 287853 287947 287961 288043 288113 288166 288248 288327 288381 288447 288469 288483 288563 288602 288704 288720 288794 288858 288912 288939 289003 289023 289069 289083 289169 289234 289327 289349 289397 289435 289541 289559 289594 289609 289693 289797 289863 289921 290004 290096 290145 290159 290177 290262 290348 290369 290390 290412 290466 290540 290574 290672 290762 290776 290840 290889 290915 291003 291042 291139 291193 291274 291352 291414 291518 291612 291685 291788 291844 291940 291962 291996 292078 292152 292221 292273 292315 292419 292481 292506 292524 292588 292692 292766 292860 292948 292966 293050 293131 293218 293299 293361 293375 293396 293470 293484 293548 293652 293738 293832 293918 293953 294035 294134 294180 294256 294326 294388 294418 294455 294562 294623 294641 294690 294778 294806 294883 294988 295027 295085 295139 295241 295331 295381 295451 295496 295526 295540 295646 295665 295703 295749 295815 295861 295919 295991 296089 296174 296208 296230 296254 296284 296308 296414 296468 296580 296625 296710 296759 296871 296917 297003 297105 297127 297175 297201 297258 297368 297410 297491 297520 297632 297670 297708 297814 297878 297956 297970 298082 298153 298169 298208 298264 298345 298451 298553 298570 298584 298650 298758 298772 298858 298879 298929 299039 299053 299163 299276 299302 299400 299491 299577 299676 299757 299799 299863 299953 300007 300077 300123 300209 300225 300255 300274 300324 300404 300450 300500 300564 300604 300679 300693 300799 300871 300910 300966 300980 301089 301133 301242 301280 301364 301468 301550 301570 301660 301736 301824 301864 301886 301926 301954 302014 302048 302078 302152 302214 302250 302328 302355 302442 302495 302519 302543 302565 302598 302614 302653 302755 302809 302838 302886 302971 303079 303149 303243 303309 303394 303408 303486 303552 303612 303626 303662 303725 303759 303783 303883 303993 304081 304153 304255 304319 304413 304487 304553 304633 304647 304705 304778 304889 304919 304933 305044 305118 305183

输出14

a327904410 发表于 2021-11-2 23:57:31

比如上面这个是5000个数,运行时间用了我30多ms...我也不知道这有啥意义

jackz007 发表于 2021-11-3 00:25:30

本帖最后由 jackz007 于 2021-11-3 00:27 编辑

      再测试一下这个代码呢?
#include <stdio.h>
#include <stdlib.h>

int foo(int a , int b)
{
      return (a > b) ? a - b : b - a                                 ;
}

int main(void)
{
      int* d , e , i , j , k , n                                 ;
      scanf("%d" , & n)                                              ;
      if(n > 1) {
                if(d = (int * ) malloc(sizeof(int) * n)) {
                        for(i = 0 ; i < n ; i ++) scanf("%d" , & d) ;
                        for(k = foo(d , d) , i = 0 ; i < n - 1 ; i ++) {
                              for(j = i + 1 ; j < n ; j ++) {
                                        e = foo(d , d)         ;
                                        if(e < k) {
                                                k = e                  ;
                                        }
                              }
                        }
                        printf("%d\n" , k)                           ;
                        free(d)                                        ;
                } else {
                        fprintf(stderr , "内存分配失败!\n")         ;
                }
      }
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x < x.txt
14

D:\00.Excise\C>
      看看运行时间是否超时

a327904410 发表于 2021-11-3 00:57:48

jackz007 发表于 2021-11-3 00:25
再测试一下这个代码呢?

      编译、运行实况:


评测系统说运行错误(估计是版本太老?),但在VS能顺利运行,而且确实有改善作用。比如5w数据量运行超时变成900ms。当然对于10w个数的处理,窗口都输入不了那么多数字,更别说把加减给弄完了(超时是难免的)。不过也感谢大佬的答案,我正好可以学习下动态数组{:10_256:}

tomok 发表于 2021-11-3 09:34:47

进来学习了
页: [1]
查看完整版本: 好烦这些处理数据量大的题