首页 > 代码库 > usaco-1.3-skidesign-passed

usaco-1.3-skidesign-passed

brute force:(0,17),(1,18)....(83,100)

/*ID: qq104801LANG: C++TASK: skidesignQQ:104804687*/#include <iostream>#include <fstream>#include <cstring>#include <vector>#include <queue>#include <stack>#include <algorithm>#include <cmath>using namespace std;#define loop(i,n) for(int i=0;i<(n);i++)#define loop2(i,n) for(int i=1;i<=(n);i++)const int maxn=1001;const int inf=1<<30;int n,h[maxn];void test(){     freopen("skidesign.in","r",stdin);    freopen("skidesign.out","w",stdout);   cin>>n;  loop(i,n)    cin>>h[i];  int mincost=inf;  loop(i,84)  {    int cost=0,x;    loop(j,n)    {      if(h[j]<i)        x=i-h[j];      else if(h[j]>i+17)        x=h[j]-(i+17);      else        x=0;      cost+=x*x;    }    mincost=min(mincost,cost);  }  cout<<mincost<<endl;}int main () {            test();            return 0;}

test data:

USACO TrainingGrader Results     3 users onlineCHN/2 KAZ/1USER: cn tom [qq104801]TASK: skidesignLANG: C++Compiling...Compile: OKExecuting...   Test 1: TEST OK [0.008 secs, 3376 KB]   Test 2: TEST OK [0.005 secs, 3376 KB]   Test 3: TEST OK [0.005 secs, 3376 KB]   Test 4: TEST OK [0.005 secs, 3376 KB]   Test 5: TEST OK [0.008 secs, 3376 KB]   Test 6: TEST OK [0.008 secs, 3376 KB]   Test 7: TEST OK [0.003 secs, 3376 KB]   Test 8: TEST OK [0.005 secs, 3376 KB]   Test 9: TEST OK [0.016 secs, 3376 KB]   Test 10: TEST OK [0.005 secs, 3376 KB]All tests OK.Your program (‘skidesign‘) produced all correct answers! This is your submission #2 for this problem. Congratulations!Here are the test data inputs:------- test 1 [length 15 bytes] ----514202124------- test 2 [length 150 bytes] ----505084224438046662273259255613734832429131009782734735842805359555233084100318079117055649229777172------- test 3 [length 298 bytes] ----10053259695089276826867935259642965731553852719538684262735192487487314197616517583339797973865297758872725640948861297301432641661904975442943509531921007765369923460062816860682427185782654397541------- test 4 [length 591 bytes] ----200532596950892768268679352596429657315538527195386842627351924874873141976165175833397979738652977588727256409488612973014326416619049754429435095319210077653699234600628168606824271857826543975415672765143376403147639220010043506915821557572317600357266384110085100522249265771837366327696501327649897585811283251496152897176866419033478540801059413048544239258571162598513913953495702179------- test 5 [length 1464 bytes] ----500532596950892768268679352596429657315538527195386842627351924874873141976165175833397979738652977588727256409488612973014326416619049754429435095319210077653699234600628168606824271857826543975415672765143376403147639220010043506915821557572317600357266384110085100522249265771837366327696501327649897585811283251496152897176866419033478540801059413048544239258571162598513913953495702179909739622837236440937462885438177821180647683738730737720888913783486959514586617797696650595901547674577979301242199019457278430548810369561772619467817228555485995203044415112143122872548769311338540536015326381863976276867541914318251664411393126499470542937523692354973302992174618483997765289165082291131361441584403037058251888126438484532310918694652242334521231534889349373510011123131402681553269143436381556125204585643907489546137688215434992265273899810054584252696796137469572911796348466488704345167747547541324981563558758838175542913564288231312542883171100------- test 6 [length 2048 bytes] ----700566853501976970759932791341462667467308118699033243929599671419425711479955369885936108727662128299743292174661372822419764489666412872195159522164096253445904122215978287993363428966801557207370139728467363348441465270633377100274745225714491174954986223421292699735458471311657588458570193247195691213243866531515461928684100166268903519306354198513890728019188961665311739714799668828043392014438341864974335836948130901253510091108999217093591563139683951866100151167427912558617910064269259944580252389658165824233021986171334887016667952275739686034779932788735062851848297426589597022323944621078756227682329281223719755691593714111654562758195371003634269522395317856221327702598609490392366735281527031805347372165159436479486088392275415952625378965641332816452381709982445245783237110034808555889424353842397741328723751539715652158940905630413554343192752332831124460768418767373946166663777649528775388132725762248279642113552032554784179703239467120595493192549898744619109393076619065749329385050555660703247844769307564611816134649431627689610175851948826842662924209563152716996540921004416557256757208349908442755145528010356540172714026755851101008675644812757916251308653132878194358078296861425231412305436188885768356799914831233040764026682440203345794750511889728490484295203653658281962596977382139026375599773899151525------- test 7 [length 2331 bytes] ----800566853501976970759932791341462667467308118699033243929599671419425711479955369885936108727662128299743292174661372822419764489666412872195159522164096253445904122215978287993363428966801557207370139728467363348441465270633377100274745225714491174954986223421292699735458471311657588458570193247195691213243866531515461928684100166268903519306354198513890728019188961665311739714799668828043392014438341864974335836948130901253510091108999217093591563139683951866100151167427912558617910064269259944580252389658165824233021986171334887016667952275739686034779932788735062851848297426589597022323944621078756227682329281223719755691593714111654562758195371003634269522395317856221327702598609490392366735281527031805347372165159436479486088392275415952625378965641332816452381709982445245783237110034808555889424353842397741328723751539715652158940905630413554343192752332831124460768418767373946166663777649528775388132725762248279642113552032554784179703239467120595493192549898744619109393076619065749329385050555660703247844769307564611816134649431627689610175851948826842662924209563152716996540921004416557256757208349908442755145528010356540172714026755851101008675644812757916251308653132878194358078296861425231412305436188885768356799914831233040764026682440203345794750511889728490484295203653658281962596977382139026375599773899151525070322168159807151326331972830107796209522807075493854632846962345374368886210012025570406763527177409552912837978546383753515122088911949162476577338982748729961686705738127219954892------- test 8 [length 2620 bytes] ----900566853501976970759932791341462667467308118699033243929599671419425711479955369885936108727662128299743292174661372822419764489666412872195159522164096253445904122215978287993363428966801557207370139728467363348441465270633377100274745225714491174954986223421292699735458471311657588458570193247195691213243866531515461928684100166268903519306354198513890728019188961665311739714799668828043392014438341864974335836948130901253510091108999217093591563139683951866100151167427912558617910064269259944580252389658165824233021986171334887016667952275739686034779932788735062851848297426589597022323944621078756227682329281223719755691593714111654562758195371003634269522395317856221327702598609490392366735281527031805347372165159436479486088392275415952625378965641332816452381709982445245783237110034808555889424353842397741328723751539715652158940905630413554343192752332831124460768418767373946166663777649528775388132725762248279642113552032554784179703239467120595493192549898744619109393076619065749329385050555660703247844769307564611816134649431627689610175851948826842662924209563152716996540921004416557256757208349908442755145528010356540172714026755851101008675644812757916251308653132878194358078296861425231412305436188885768356799914831233040764026682440203345794750511889728490484295203653658281962596977382139026375599773899151525070322168159807151326331972830107796209522807075493854632846962345374368886210012025570406763527177409552912837978546383753515122088911949162476577338982748729961686705738127219954892908712857683617640633360140421382491714233610354396752389688531343125929073948163566712929206748344256836357756826411821986434153356796997448626199839189115363617382834996258887794587186180------- test 9 [length 3005 bytes] ----100035393648514645364951504839444943485246384147474445464039475152454550483736425044463843364851353642424939355043415246524749513838473936394939423538414751453747405142484936523944493642514740495243484235413841434042493735463751384745523751495236414842354938394846354449384648355241385141354335504544384051505144404139393936505035403941385037473649464736473547393944474536363852485235484736475151494738465041404349424740374745474241443842444151443749504151373552454036464137413741443745423640374647434440484535494635514445464352364745394943394241524141484247434046413836494552374841434442394540504247485043484240393551504739424644485145433647514252503941384435463543363643385251424338425247484749414144414245354636525149363639524841484337354246494938374845475140444851354945373738364342484937435249454849414037374151504548524842354137354145525150443636425151395051443848444842384836444645404749483751424335503845393544524349503650504944364235445037465147434935404136363741354747414641465049474142483639514944394739514150524436524343474250484039514738454042364247484850353952414348523839385245454039355251365245384642395147383950403550504839443637413940374337445138394849423745503849354749363747484047513945503546504938414640484048505044395139455050515246394846504538424540443738393647423645383739373546433846354740404249424150354842503538464247375235435136364946384148473547475041414943434951494136504541513638523950515038424437515039405144494244414149353937505252473652393541464548463735423538425151454547524252494751414852384042514148465238495247404951463535384644444345424748394447513843384638514940434535385246393551354535474336384848405138504147423748393946434742484637425150404448423847493749355249404740384545395236353642505150424945383645523938514344395147385144444647504945354751454951494239494949483545484150394942424250474244514740414941504143444536365147463646365048354639504540434644444949513740434052445041394444435237473742504844524250513948434740453547504643494052494243373735504949464245------- test 10 [length 2921 bytes] ----100060664032326491718011862278164385757380796739743593879880436754915980974794899315197783509287599324258747912490488766772631502955484383373819739987721932108471222783022196318159374721387343093168646141270322810093915879628332823758956716984363174196685387767916332564269135617146373365373010072556263747589668703415841562539998608935622678678540394260367596628597639550738757387017187871419955011519718948764249030328214632334385502415422376879157765567211522577714445115217853697992392396955126731869869071713116252302773317639449788971916542354460563863596275845841946950847677950510132326231825719746854498303823395671377942688613100316539489537662434169548365594809885627159963048911795906866627496146175658784841003742188224829270377723424728270225193298377181424689172582739396755157916879171855389488476484994166433515652912348643389854929525888843558463976975711707634638167702516485958245581445291527382274486995452826396187161073571728949497843950262521793769403643455042597521453696999172543416992860672630813047643353782678669673991374762987775332075539759646280785362228848982357465806027346418387344952157248392842062958686010041502631186797472218247288526629914737595177162991464427215295785556211444967361714117667948757886118890163219528141929696464128254733449710687126378933816244676189833715077881262281248558957221980126983304521636896604511978118471532796918782909653910539965714586754251981813610071273270835536962100279319975861479172227673827185251450887213431959812349255542325896479149217981264597185948437110067751276806864108821629838369083117549873056726264833387532281519786393249395889157573248771454384576822199972066261709077654320958236389650517435786065119275437762948818344682623463786388690697176502293855040613372838931269176908216021424144267367645394982471167423925948223766452093124856057128495653276461666835275935580576318848521042385433974312174331785442384243364883656797
View Code

 

usaco-1.3-skidesign-passed