Un gruppo di amici vuole trascorrere insieme un periodo di vacanza. Per capire in quale periodo sarebbero tutti disponibili a partire, si decide di chiedere a ciascuno in quali giorni sia occupato per lavoro o altri impegni e di cercare poi l'intervallo di tempo più lungo nel quale gli amici sono tutti liberi.
Se per semplicità si rappresentano i giorni con numeri interi ogni intervallo "impegnato" corrisponde a due numeri. Ovviamente, gli intervalli possono sovrapporsi, in tutto o in parte, ma sono tutti compresi fra 1 e 1000, giacché tre anni sono un tempo più che ragionevole per organizzare una vacanza.
Ad esempio, i dati seguenti riportano cinque intervalli impegnati
290 870 10 100 910 978 90 243 313 547e precisamente gli intervalli chiusi [290;870], [10;100], [910;978], ecc... L'intervallo massimo di tempo libero è lungo 46 giorni, essendo compreso fra 244 e 289 inclusi (mentre 243 e 290 cadono in intervalli impegnati).
Nell'esempio seguente, invece:
290 870 10 100 910 948 90 243 313 547l'intervallo massimo di tempo libero è lungo 52 giorni, essendo compreso fra 949 e 1000 inclusi (mentre 948 cade in un intervallo impegnato e 1001 cade fuori dell'orizzonte temporale ammesso).
Si salvino i seguenti intervalli in un file di testo, vi si acceda e si calcoli la lunghezza massima degli intervalli di tempo libero.
La risposta al quesito è il numero intero corrispondente alla lunghezza del più lungo intervallo di tempo libero.
414 420 753 765 926 936 651 657 720 735 382 396 881 893 649 657 262 278 750 768 73 82 894 903 514 524 246 258 842 859 35 54 676 692 61 71 476 495 931 949 318 333 8 18 265 284 276 290 166 182 435 454 733 741 91 103 492 497 463 475 411 420 906 922 528 541 587 602 910 917 885 902 499 512 33 42 722 734 887 903 212 217 838 851 799 804 3 18 16 24 589 603 416 428 414 429 532 537 316 322 327 344 74 91 554 561 588 602 995 1000 864 883 487 504 413 423 937 953 153 160 800 815 180 199 648 656 159 167 274 285 627 645 130 138 883 889 148 155 142 149 454 464 127 137 462 473 215 234 29 42 563 575 199 217 496 510 150 168 753 767 947 955 409 415 630 648 364 378 288 297 412 431 699 709 805 817 460 475 498 515 713 728 91 99 983 989 848 867 438 453 523 538 862 877 739 750 913 924 215 232 318 337 199 211 886 899 407 425 211 228 882 896 103 117 770 787 878 883 857 864 665 676 315 326 95 110 985 994 19 27 614 629 542 561 213 232 466 482 416 423 706 716 865 882 680 697 243 249 65 79 943 959 421 430 574 586 364 376 219 229 191 200 233 249 1 11 693 698 596 613 136 143 750 769 689 698 82 89 780 785 934 941 483 489 161 177 213 226 268 283 700 708 429 437 392 400 631 640 143 155 693 703 632 638 135 143 474 483 368 380 669 686 759 772 102 116 725 734 667 681 521 533 15 30 673 690 400 410 966 975 320 335 544 556 273 284 780 797 979 996 580 599 748 762 117 124 941 954 22 36 667 685 444 459 814 822 704 717 693 706 163 175 160 174 780 791 445 450 899 914 743 753 459 469 519 533 10 25 71 86 104 109 160 175 215 228 388 396 278 284 296 309 384 401 516 521 810 823 58 75