#!/bin/bash
# O(n) space for -nearest

trap "/usr/bin/killall -q -u $USER ./TSP 2>/dev/null" 0 1 2 3 9 15
trap "/bin/rm -f $STDERR" 0 1 2 3 9 15
if [ ! -x ./TSP ]; then
  echo './TSP is missing or not executable'
  echo './TSP is missing or not executable' 1>&2
  exit 1
fi


$BIN/run -stderr=/dev/null /usr/bin/valgrind --tool=massif --massif-out-file=massif.out --log-file=valgrind.out ./TSP $WHERE/airports_512.dat -nearest LEI UEO BGN SJP RFD NLA AUM KLL GNA UST BHI MS1 05A UOX DUR AMP OAJ BYU KKI BXE PCG WBR CXY AFA IZO PWT LBQ SUU TKK LTO AMH MBK LAS OOM TDZ MCI CBF IFL CIH ENV FDY WA7 HAB KGS SQV MLD TGM TIX SMN HZL FOC CGX MBZ VLL HGZ PHN PMI PCD INT LKV PLZ YUM SCM ERD HZH NCL LRL KIV RRG TJM GDL CA4 PAQ ULN TIE ILZ KLU BSG YOP JMN MUT VGC ME3 CMG MMH BID BMA YXZ KUA UKB SCQ LUG CXH VWT GGN NBC TUC DWA SXL RAC MOG TCQ GOH FRD CAH SIK MLT BMJ VST PTK GRP GFA GRA KSC CCC EVM BHX VWW ZXE YOD APC IDI NKI AXV THV ARE SXM BXU AZ3 PHI FRF BOY K01 SZF DIG KHV GUF OCE CPT OHD MGC AVX IAD PQQ FQJ MS3 HDF OSU PGM RDA JEF SBY RBF BKK BIR LAR FKB BYK HSV PUB CFR USH ZPB ELA CGC PGH A56 KBS YZH CAP PCE CZE XRH DTR CPO A69 A61 GAU PET WFK PTR ORI LHW PDS DEL MWL BGI BCB CHT OSP URG KWJ TVC ILL SKW ITM TAL MMQ ZCO DIV MTD DXR A03 BBS MZG MSH DUB CNE LOI HND SLS LUE BRY TOD CEG MJV UDD GLN A87 CIA VQS NKX NAP YSP THA OMO DUD WIC BJU 04A PNR CCY RAE MWD ARM MSP FYV SNR BBF UXM BVB LNP SBW ZBX HPT CJC AK3 SAV HUH LAK TFF WSZ A94 MIC RSA YGX JFN A53 A07 LAO QAX VWF YOG EHT NY8 ATC ILQ WSJ WMO A50 ERV BVI YCK TEZ YHZ NIN MEN OGA PEN PPP POC SLN KTT OQX CLC HSI WHO JAL BVR WUX FZO TBN MYP DPA ADQ MCR XWN MSA CT2 DND LXV MYW TIF LGP XMR TCC B21 YVN PIM FIC WQD DGT LFO PNA PTN MI4 A72 YDU EKN YVP YQQ DBV FPY NSY A93 DQK MFA MIQ KNU DYS AUG BQV AK6 VOG PKU HGR VWL HAY LZR RNB NKT MKE PKE GNB AF4 FDE OGN WTT PSD AHS JGC SML KWF FQA DQD JXN FMY DKR NUP YKU ACA WAS AKC SGP SGF BKS S24 STQ OXR EG1 MQY FNI VZL QBY YNT KTA ABY FJR HDS YXJ PMP KGG CED MGF CCK MKK YAF ALM AUS BEV AKB TIZ MMK MHG EAG KEN JZR CAJ JKT RIC TX3 OUE FVW MQP MOU YPR MUL VIG NAO TYN NHV YGN MDY MGJ DRW HRO NET RHI CBB ANO REP MRK YAT SVA A28 UXP NCH THR TGR NSF UII BIK TNU GLF SNS OZP MI3 BHZ SAT BFF AYS CZM YQZ LDV BOD GIZ PCA FDU BZR LLI BOR MCD BAK BSM ALB WRI YGW CRX UXA HYD RYE ROB TX7 DEN REY WNP SHD WSP SFD OBF OSL TFN YGJ IWO ION TOV BCI SYX EED CCS VZA ONP MOZ OHR OH1 LAX YLQ DEH PGA NC2 CUP CEO PIB NGE TX9 BNB CAR AF3 BHE A71 BAZ OEO COO DIK WKN EUF NVT FSP IXW CIG ZLT OTU < /dev/null
grep "mem_heap_B" massif.out | cut -d'=' -f2 | $BIN/CheckMax "memory limit exceeded: " 1048576
