Fast Python! Coding competitions with CPython and PyPy

Video thumbnail (Frame 0) Video thumbnail (Frame 4413) Video thumbnail (Frame 18506) Video thumbnail (Frame 32713) Video thumbnail (Frame 44320) Video thumbnail (Frame 55816) Video thumbnail (Frame 67311)
Video in TIB AV-Portal: Fast Python! Coding competitions with CPython and PyPy

Formal Metadata

Fast Python! Coding competitions with CPython and PyPy
Title of Series
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Fast Python! Coding competitions with CPython and PyPy [EuroPython 2017 - Talk - 2017-07-12 - Anfiteatro 2] [Rimini, Italy] In a coding competition you want to solve problems ""fast""... why would you choose a ""slow"" interpreted language like Python? Because the ""slow"" Python wins competitions more often that most people think. We will show how coding competitions work, what are the resources and constraints that competitors need to take into account, and we will find out that, like very often in real life, the actual processing time is only a small term in the complex equation that describe a competition. The ""faster"" PyPy may help in gaining raw speed, but that is not the real advantage it gives you in a competition
Point (geometry) Rounding Intel Java applet Multiplication sign Computer-generated imagery Software industry Bound state Computer programming Product (business) Formal language Roundness (object) Single-precision floating-point format Software Programming language Machine code Complete metric space Limit (category theory) Statistics Open set Formal language General relativity Coding theory Personal digital assistant Ranking
Run time (program lifecycle phase) Length Gradient Multiplication sign View (database) Set (mathematics) Compiler Insertion loss Function (mathematics) Parameter (computer programming) Mereology Machine code Computer programming Formal language Neuroinformatik Programmer (hardware) Online chat Roundness (object) Different (Kate Ryan album) Phase transition Befehlsprozessor Personal digital assistant Universe (mathematics) Endliche Modelltheorie Pairwise comparison Vulnerability (computing) Programming language Algorithm Constraint (mathematics) Structural load Keyboard shortcut Sampling (statistics) Data storage device Menu (computing) Range (statistics) Bit Staff (military) Formal language Process modeling Sparse matrix Befehlsprozessor Sample (statistics) output Condition number Summierbarkeit Ranking Resultant Point (geometry) Rounding Divisor Civil engineering Video game Mathematical analysis Rule of inference 2 (number) Power (physics) Wave packet Revision control Googol Ranking Spacetime Software testing output Initial value problem Rule of inference Pairwise comparison Inheritance (object-oriented programming) Twin prime Run time (program lifecycle phase) Weight Planning Independence (probability theory) Total S.A. Ultraviolet photoelectron spectroscopy Machine code Limit (category theory) Computer programming Punched card Uniform resource locator Coding theory Intrusion detection system Personal digital assistant Logic Universe (mathematics) Statement (computer science) Video game Routing
Logical constant Email Wechselseitige Information Structural load State of matter Decision theory Multiplication sign Workstation <Musikinstrument> Function (mathematics) Mereology Machine code 10 (number) Neuroinformatik Bit rate Single-precision floating-point format Personal digital assistant Local ring Descriptive statistics Position operator Chi-squared distribution Source code Mapping Point (geometry) Sampling (statistics) Menu (computing) Maxima and minima Complete metric space Exergie Process (computing) Sample (statistics) Order (biology) output Hill differential equation Right angle Absolute value Hacker (term) Reading (process) Writing Resultant Rounding State transition system Slide rule Table (information) Dependent and independent variables Line (geometry) Computer-generated imagery Simultaneous localization and mapping Maxima and minima Limit (category theory) Numeral (linguistics) Theory Number Power (physics) Wave Ranking Software testing output MiniDisc Gamma function Maß <Mathematik> Execution unit Metre Electronic data interchange Forcing (mathematics) Java applet Login Usability Line (geometry) Limit (category theory) Mathematics Word Radius Error message Personal digital assistant Function (mathematics) Universe (mathematics) Revision control Statement (computer science) Musical ensemble Resolvent formalism Vacuum
Greatest element Just-in-Time-Compiler Run time (program lifecycle phase) Multiplication sign Survival analysis Mereology Machine code Information technology consulting Computer programming Formal language Fraction (mathematics) Different (Kate Ryan album) Phase transition Befehlsprozessor Bus (computing) Endliche Modelltheorie Pairwise comparison Algorithm Constraint (mathematics) Channel capacity Data storage device Staff (military) Bit Formal language Process modeling Befehlsprozessor Process (computing) Point (geometry) Implementation Real number Letterpress printing Mathematical analysis Thresholding (image processing) Number Power (physics) Internet forum Spacetime Data structure Tunis Mathematical optimization Pairwise comparison Run time (program lifecycle phase) Weight Gender Java applet Machine code Compiler Coding theory Personal digital assistant Network topology Statement (computer science) Game theory Solvable group Library (computing)
State of matter Multiplication sign Execution unit 1 (number) Sheaf (mathematics) Compiler Stress (mechanics) 8 (number) Mereology Tracing (software) Computer programming Neuroinformatik Formal language Data management Roundness (object) Strategy game Spherical cap Bit rate Different (Kate Ryan album) Semiconductor memory Universe (mathematics) Endliche Modelltheorie Office suite Pairwise comparison Logic gate Library (computing) Algorithm Satellite Block (periodic table) Closed set Stress (mechanics) Staff (military) Instance (computer science) Measurement Formal language Open set Process modeling Data management Process (computing) Compilation album Volume Resultant Asynchronous Transfer Mode Point (geometry) Web page Functional (mathematics) Game controller Simultaneous localization and mapping Letterpress printing Focus (optics) 2 (number) Product (business) Power (physics) Energy level Representation (politics) Selectivity (electronic) output Mathematical optimization Tunis Metropolitan area network Computer architecture Focus (optics) Scaling (geometry) Autocovariance Forcing (mathematics) Interface (computing) Cellular automaton Java applet Expert system Planning Counting Volume (thermodynamics) Ultraviolet photoelectron spectroscopy Machine code Line (geometry) Computer programming System call Word Coding theory Loop (music) Personal digital assistant Network topology Factory (trading post) Statement (computer science) Video game Solvable group Library (computing) Address space
hi that thank you for joining so many of us underwritten
by the work for review run software company in Rome we use most Python and since I do know my hobby at most of the time time interval programming and coding that
aII often happens you couldn't completions that's very spot and I'm just limit or there and there are now very high in the rankings side you readers if we can solve uh but I think the other quite a lot about how the general theory of coding competition stand it I found in the don't it was fun but it also have me being a better program over even if it's not what you would expect it's not that you know so many new treat that he use it's really a more general oxygen to were programming and is what I want to talk in this broad in this talk the 1st point is why would you do coding competitions with Python the usually you would say yeah if you want to compete with others you need to have in their language that is has sparse as possible which is true and in fact most of the competitors used that 1 of those 3 languages which is C + paying for 40 go according competitions is a good coach am uh it's the largest single coding competition in a to that use the online and it's the main topic it's the example that we use throughout the talk as it's the that they cleaner and easier to track the 3 most used programming languages are cyclist lost Python and Java especially in the beginning in the initial round the fission around open to everybody then you need to qualify to around and then the audience becomes smaller and smaller until the final round of only a handful of people actually 25 . 6 of the very best painters enough and you see the most even if half of the people I mean that compared to the supposed last clouds of the pipe products most it's more as half of the very beginning he began 1 than the other hand but still there are people who do use Python in the final and the reason is that there are some on there have been cases where the only solution that
could be submitted to 1 of the problems was applied in 2011 round 3 it's 1 of the final round of only the top 25 competitors qualified and user lingual we use the provision Python programmer he the code C 9 or 10 languages in the
competition for fun but then when things get tough use and he was the only 1 he was ranked 1st because he sold it to the large input to sets of problems the with Python no 1 else meant to do it's not even the very best civil sparse programmers yeah OK 2013 around to something if you want even more interesting happened be goes to be married to 1 of the professional 1 of the guys who can win the competition and he's a signal sparsity I use civil sparse almost everything about the last uh the problem of the round 2 he managed to solve it was the only 1 I solved it and he solved it in Python so he switched in just half the time or even less than half the divided the other super company look that he managed to implement the Python version and to get it now notice that he finished up to mean it's 29 and 50 4 seconds it's tool power and the house is the full competition any squeezed the last we need the summation just 6 seconds before the end is also 1 of the things that you learn never Navigli up the finally in the 2 thousand 17 years up until last month that user can solve all who is 1 of the very very younger and very best off in the sea and he's of Python guy he used mostly by then accepts the post plus land thinks that you really need proposed and the managed to finish the it's 1 of the only for people that submitted a got solution for this find a problem and 3 of them will use of Python including of so the point is this is not it is they he might be in certain cases a good idea to use Python let's try to understand why also during the time more and more people are using Python body in the initial rounds where I mean you know there are a lot of people who were not as good as in the final round but also in the final answer it's actually in the past 2 years so I can actually overcame out as a as a language in the very final around so the plan for the talk is to give an interview exactly 2 competed for example from the book of jam then we will try to solve our problems lie and they say never do life coding let's think and then we try to understand from 30 all points of view would the 3 medicine according of competition then once we have this we can try to do it program language comparison understand why what are the advantages and the weaknesses of every language and then we see what we can do what how what what we have learned that these weights I want to do this competition for fun and what I can I actually get something for my E. uh day-to-day coding or even for life it so will the jam that's the main entry point uh it's invitation it's run once the year you that several online grants just 1 on-site frowned on who will location because quite sizable price tho will find a total of 20 K of the loss and then usually you have you need to solve the planning and around from 3 to 5 problems they have problems with the known correct solution so that uh that they are the but that there are other kinds of competitions where the complete solution on compute optimal so this is not known but you can judge a solution if it's better than another here it's an on off its current theories and current you can programming and programming languages because you do it on your computer you the load of the sample inputs you run code on your computer and you uploaded the output is the output currently online chats with the size of the output is kind the competition is fine but in a few hours to 1 half hours is the tibia length but some are longer and runs along the sum runs over from the the run time of your cold it's a few minutes 4 minutes for the the small input for small love affair and entities for the long that the so every problem usually this the simple most a small simple Dallas set and then a more complex more grows large data set and you you get different you get independence course if you get to the 1st for the 1st and the 2nd finally that you a ranking based on the the problems score that is how many pro problems you solve the and how difficult they wear that you get you of you know the the the the the scoring advanced and your submission time so you need to be asked yeah in submitting the solution so you get points if you are horrible and you get an advantage if you do it fast so usually a problem that like this you have a problem statement that describe the universe factors rules are routes usually and a question what you want the data ways your that then you have limits is very portents the permit the parameter and the initial condition of the old you nearest are described as we will not give you more dominant top got an actor or so or strong 10 thousand or 10 or something and they have differently and it's usually for small and large what is the main difference solely to be going going the problem simpler to solve you need less inside to solve this money input and that moral more more steps of more insight to solve the logic many of simple test cases with the solution so that you can check if your world that the fuel is this a issue about out is actually working on the on a sample of the step and then you have the real test is is the 1 that you download and his so then you get a point so the typically their problem solving this the heat you have to 2 2 things to keep in mind first of constraints you have your CPU RAM storage this is what you usually think as important thinking in solving a problem with computer and then you have the code around the time of the approach can run more than 4 minutes or 8 minutes depending on the inputs but then you have wallclock times that is really the that the big part goes you need to solve as many problems as possible in the 2 and half hours that they give you and if you of faster than you are the uh you you are hiring rank the good cases we will talk quite a bit about the those usually with the steps of these you read a problem you try to understand how to map the universe in some of the algorithm and that that's all the questions that you didn't then you need to implement the algorithm actually typing 10 and then depending on the problem you may need performance-tuning all dividing the binding it's anything that you do after you were pretty sure you couldn't well and it doesn't work and performance need is that is when you realize that the solution of the model that you have it's too slow and then you're runtime runtime it's how much time you need to load the staff ran and a political now I have to give you an idea of how this looks like we will try to stay alive uh like the the training sessions base we read the problem and we try to coordinate the Lodi it's ran uploads and see if it works so hopefully we will do it in time now the results uh but the problem that I'm proposing might actually did live in 1 of the this year round and I maybe in 7 minutes and 11
seconds for standard the story now I so at the radius of fully we will not be long and still was not enough to qualify so by the 1st doesn't belong there a company of qualified and I was thousand 100 46 stuff like so
now the hot topic
description thing is going
here at so can you read
the statement so usually the problem statements are of the universe is describing some kind of funny or interesting way so you don't lose their and the finally it so it's about bussdriver I stressed jobs he tried to do something and in the end he wants to do some Portsmouth frightening writing for fun so they and this is not from our University we need to capture how to make these into the coat and it is raining cohorts up but 2 days or longer number 1 1 when we wrote the and runs west to east she's going to make you need the 0 of the road and the decision is a Umeda detenidos along the road on number from west to east there and other courses traveling east to stand road that all of them go traveling forever and all of them are column to between and horse and have the station and i've or so as missions Canada I'm and traveling at a maximum speed as then he sees that horses cannot overcome each other and make question years you can go on any he doesn't have a maximum speed you can go at whatever speed you want but uh as long as it doesn't cost any other horse so the problem is that we have horses running on this on our honor are the segment of line and we cannot trust we cannot pass them and we want to choose to so small right for her and the corresponding wants to choose a single constant who's Conference speedup over cost for the entire trip from the current position of the station so that her course will not pass any other courses what is the maximum such speed that you can choose is there to be all this is very simple universe then you have a description of the input this is to be of input the number of test is then aligned with the and and how many other courses how long you need to go and then and lines we were every or stock and what users output needs to be a stranger where we say what is there a crisp results limits for this said the interesting part is that we have only to what 1 or 2 other courses in the gaze of the love that's we have up to thousands of course not yeah you're an imports and for the input you know with what is the beginning some of those the province of quite standard in a way that they give you this is my solution might be the scuffle solution they use I read the number of test cases then I range on test cases they build some kind of results and they printed the result if I do run this right now I just get 0 because it on line computing now this quite simple or at least quite simple for me I need know that since the courses tab to overcome what I every every course has a precise as in maximum time when he arrived he reaches the the final decision and somehow I want to do just for the slowest costs that is the force that we reach the nation to in the maximum time and then I want to go there but at the same time as the that's easy read uh it even if you're not correct me if you are not correct and not not that it's going to be so you can get it done in slide landed on 7 minutes but it's very fast to do it once you have the so basically what I'm saying is that 1st I need to read all my 2 my deep and and you know and at the so I guess for every test case again input as they in the and and we choose the order in which the 1st line is given and then I have a number of although the and uh horses something to worry what for all for which and I need to read and more reliance input a gain of these up to number so I it and I'm happy at with and everything is in and then I need to do a least here goes map reader answer generator or hearing about the needed but here do let's see if this works so usually you do something very rough I want justice the OK I can read it more or less so now I have the results of a novel every more so by known I can't tell up what time do words will be in the at the other end of the of my destination so you're on the and as in are and work my resolve that use the maximum well resolved itself the the minus today so this is this is the fact that there there uh that these remaining for the horse divided its speed now I'm treats very nice of user rent floats on everything let's see use works and the states that this is the time it takes since I really don't want to have the the time but I need to give the speed that I intend to divide this by our the value the rest of if works and has been yes so these was faster now how do I know if he's got a need to download the theory practice as the solution to aII already and the court FIL and so on replace it phonology is there I'm really testing might it's not on the sample test is but the real stuff during the completion is how I get the score I need to get the small input yes very fast so I I say refers to those more power and now I submit my solution which is all about and NCAA chair so the but it's Q is 1 of OK 0 OK this is a very difficult music OK now this is dividing sometimes you have a problem and you need to understand what is the problem and solve it let's see if it is was to young problem so grant to read now these days I already know that I can handle thousands on the thousand the horses as well as few so I just go and unload the large place the that's the problem I see it too large enough so the requirements yeah yeah than I do the singing forward launched in and I say that out who talk yeah it large ourselves and I need to selected at the so that going current rates so well this is How did
eagerly these works for very simple problem what is interesting is that
1st there was no need to the yeah the yes but it 1st I didn't eat any of the constraints the problem was so simple that really CPU RAM storage running time was not a problem in the lab in the Ford large uh double sets it was a couple of sentences so the only thing that really counts in this case was whoa clock time because you get it it's not for it's not quite as carbon 88 something that makes you hire in the and so if you look at more or less the various coding faces want modeling which justice lower to be now because I need to read all up to read this statement aloud but it's faster than coding it's usually faster if you don't have any heat the performance tuning is not needed industries was not needed and the binding was just trying mean just as the thing work you have a small problem but if it's if immediately and then runtime was serious about it so the 7 minutes you get some meet the problem in 5 minutes this is what they really good people do we usually for the at least 1 of 2 of the problems and everybody has a threshold where the problem is easy enough that this is your time that's fine if you want to it then there are the generalized solvable problems the something that you are able to solve it's not easy start for art is 1 but it's something that you're able to solve how do you recognize this kind of problems usually most of the time especially when you begin there's no all the steel no real need to keep the constrained because they usually the the main the problem is to do the modeling you can take from 2 minutes to 20 minutes to do the modeling these going from the text that's would actual algorithm to devastate church say there and then coding these you again not the real problem that's there being usually performance-tuning you don't need it's very very rare on do some mistake at the beginning and the end is the real were quite right it's divided because you it needs even less performance tuning the problem is divided 3 of the and the real reason Python as an advantage is that if something goes wrong if you did mistaken implementation or even a mistake in the modeling at something if we don't work you need to understand where how and when and is that the binding parties were quite and as a huge advantage all 1st the language that you know most the most is the 1 that has the advantage that found if no more than 1 language very well advantage to us but trees is very powerful print statement um so by doing his work right and find really and it's the largest and Maurice of the coding faces because maybe you don't need anybody at all even intervals plus that if you do it might might rule the it's easy to get 1 of our stacked on a on a problem that you know you can solve but just you may see the things somewhat so how do you recognize the full unsolvable problem these defense and you really because they're up and usually if you keep an eye on the scoreboard you see that the pros but can meets current solution to a problem uh very fast forum invade doesn't take long so you know that is simple problem in the the gender weight but it's not solvable for you if you don't know how to build the model this is where there is really the bit stuff they did the difference between experience program our expenses compare competitor and you knew that new people the the other part is dividing because if you have a company you might have a model that you at the end you might you find what is the algorithm that the structure that describe but if the phase out of the lean meat of your of your the capacity the time the most of the time will be spent in the bottom of the game so is this the z that we also to keep the assets so that the yes that's it's your time and it to be and the way you spend your your time is mostly modeling and abundant and the rest is usually the fraction or in the difficult cases the fraction then you have you have can unsolvable problems which is some something basically the out of scope for you and you can easily recognize because the pros are having have time to solve it so this doesn't care who you that you may not language comparison it so why do people to use a bus bus and but those people are using Python's C by known by 1 i.e. the the that that there's like different since we were interested by need to have them separated now the point is in the modeling part of book by gun and but needs survival is the best because you have access to a huge number of libraries sometimes the solution is to just to know no you already know a library and you just need to code how tool the describe department library in the primal and the library solves it would buy by you have slightly less than an advantage because some of the libraries are not working and suppose plus java usually it's harder to install staff so unless you have a perfect so that you may not or and also interfacing we libraries father is still in there are many more competitors just go we just write typed solution not going for a library coding decoding time in Python excellant because it's very terse you can be very clear now and the same uh it's the suppose + job lights a little bit longer but coding it's not really that important I mean it's are less there are thousands of the fire because you have a very strange problem the coding it's not what mean what what what will make a difference in performance tuning that is can in some cases be important and this is the reason why the pros you see possible performance-tuning intervals usually you don't need to do because the see the sparsest off and it's the compiler that that's most of the John Locke implied by that have a G. a just-in-time compiler so it's fine in there i in to use them by consultancy final sometimes our various you read optimization that you need to track down and
if you don't it's can be very slow usually they're very ingrained in our brains so it's very easy to do performance optimization light not repeating a landowner or a a function call inside the loop but still you need to keep that in mind so it's not so the point is that we divide and c by don't buy that is where and bites where they have the big advantage and as we so that used to be rigorous a so now we move in the in the ways that what we learned about encoding competition the 1st point is that strategic thinking they will call timer is the paramount assets is something that I was not clear to me at the beginning and then you need to optimize that manage your your a time and be sure to know all in which face you are and if you were doing the right thing at the right face at a higher level of strategy you have problems selection usually you should go for that simple problems 1st this means that you go and track and the uh the he put aside points that you have that you can the did the lower nowhere hanging fruits and then also among the simple problem usually you should consider the simple solution closing for problem brute force in a lot of cases in the 1st round of the of a cogent and once you do need a brute force solution you have a working solution than for ways to deal with the large that would be not enough but the a piece you can test if your fancy solution deep the south of out of the brute force that you always need to keep focused and keep an eye on the scoreboard that is 1st you need to check what other competitive subduing explicitly the approach so that you know it's something he's actually solvable or not so you don't find something that is of too much out of school for you but you really need to to try to work on problems that you can make a difference for you in 1 instance but we need a new II I had problems that do we see a simple problem assumes a simpler problem so I set it aside and try to deal with more complex problems when I when I sold the small for the comparable for the harder problem I so that the idea have a chance if a go back to the if I went back to the simple problem solving it that would not that enough to qualify so I'd like to see I gave myself 20 minutes to look at what do you think of the how to solve the lot of the hard problem that no 1 was doing so it was really in Osaka but there was no way to we otherwise and after a while I noticed that the the problem was the most the tree that the same solution of the smog problem would have worked for the lot for the large even if you look like so at the very last I just tried I was not losing anything because they would have not qualified anyway it works so that just trying to I have been insights but it was really this is the only thing that I can do right now to have a chance of winning so strategy and be player in this uh and competitions yeah yeah the things that you learn is to focus and stress management at every time you need to have both the round strategy in the problem set base you're doing is the the the problem that you need to qualify for the round and this is something you need to move go up and down in the strategy level to be sure that you're applying your time there are slightly as possible that something is very important to be focused in a way so that you don't make mistakes when calling any every mistake may cost you the by the time that is the worst that you can do is to do state with a modeling and that's going usually coding mistakes are easier to track if you do a mistake of modeling that it's much harder to to go back but 1 of the is everything in modeling your problem and coding should be should be cap us simple possible these quite strange you think that you made to find the staff had no most of the time doing the most plane a solution is that what is in the easy the bible and so it's the 1 that wins you that qualifies than 1 thing that this is a mistake you very often you need to be ready to question or your assumptions sometimes you you'll decide that the solution to a certain problem uh to social problem has agreed solution so you go with that and you never questioned that assumption which was just some and that is something that and you need to learn how to gain and the gain always go back and be sure that it's what you are doing is that you do leave anything back then there is stress management this but somehow I do you think was a portent that so it is that the fact that I mean you need to keep calling on interface of a thinking will clock and is not easy ieee competing since 5 years and still when the competition starts I can't feel my heart rate going up an things we did and so that that they they keeping this and control keeping control over the years it's really 1 of the things that you learn if you want during uh this hobby and something that's very useful in all kind of situations a gain based is the fact that you also need to keep combing the face of the risk of public shaming arming public humiliation because they're what of meat then it will be made public their solutions and that the Google could general public so sometimes you know you're doing something really horrible should be optimized but time is what counts and in the end is what counts for you when the than other people who try to learn and the mode codons you got and say that all of this is really so horrible to find there still you need to give keep from then there is something quite amusing days never give up up and we all the sports but with the cutting competitions the 5 in this office of intervene get very much closer to the way we program and sometimes if you eat like in that the case have if you just 1
way to get out of this situation you may try to may not work but you know that the best and if it works you actually to get out of time in my days week I qualified and you can get out of your problem also the you can imagine that the memory coding like crazy and in the final code that he submitted 6 seconds before the end was something like 3 pages for all of the floor and everything in of that and you need to say OK I go on doing this even if I very very tight in time and almost certainly I will not have time to run it and submitted but if you do it 6 seconds before the Góngora it admits that you really believe that so how this out or public get better competition you get this advice line the most important thing is that the 2nd most important thing this practice again and so is the 3rd is nothing like that the that it is more important practice but now I for real so something useful 1st practice you need to practice here were competition from start to end with the time that the wall clock the fact that you feel pressure and keep the stress and focus needs to be real even in competition that you need to go for volume 1st do a lot of simple problem even if they're obviously simple you need to get your muscles coding muscles going meant you go to problems that are more to the to you really makes you need to understand and try to figure out what are the problems of what I mean it and tried with them and learn from code about the doors of other competitors and then their libraries that a lot of libraries these are the ones that I find most amazing in an encoding competitions but a lot of libraries just me talking so much the that you need to learn that a section of algorithms is that the course they followed which is an easy and I invite everybody to use yeah so what you learn from everyday programming basically the point is modern encoding performance unit by making it is the same amount and the point is that performance tuning in the binding have a much lower time scale so this is where you need to optimize your wall clock management time the also so that thinking always try to get through to the low hanging fruits for doing the BDI architecture has always keep an eye on this got this he's exactly that is useful now on what is the most useful thing that I tend to now finally focus and stress management is the thing that I really like the most of that is if you have a badge production or Yelena hackathons you up I'm marks that you want to solve something as soon as possible and all they keep column in the face of the block and the coming face of people looking at you like to fly kind phasing problem solving situations is something that once you know once you do cutting competitions look much much simpler job interviews as well I mean you have someone who can and watching every case stop 0 you or your if you're trapped in a fire in each state OK keep calling I need to solve the problem not time they did strategic thinking and the words exactly as in also in your life from and keep an eye on the scoreboard it's so it's as well 1 of the most important thing so I thank you for your attention then I'm ready to get questions if you want thank without we I think you told I have weekly quiz its this is the time idea of another and has been the the time of the migrants as in the the so this could live it's this requirement applied to maybe I mostly used by C C + + rescues while the point is better for diversity and right there what are the advantages of this the 1st and most important point is stuck traces his work right don't find factories is usually very very useful and you get them for free immediately and the other point is that the print statement which is really the only the but tool that you use encoding competition it's much much more powerful so you get a very nice representation of a lot of about a pipes especially if you use some of the about which is what you must time and uh and in case you of course to go into the the Barbara which you really want to life uh you just do in Part II any being IBD set trace and that the introspection if I don't have to read a lot of ideas not much this blast man life so there are ample rain not an expert in the body but that when they need when they need it apart uh a might by the libraries to sparse for performance reasons even if a red knew what I wanted to do it was a pain that every small the gates needed much more time to be about the OK thank you for talk and I wanted to ask officers said that we have that time for execution of cells was like formants for the small datasets and how is this measure because you are the 1 thing that you would end up holding the out sole from to you you know when you don't know the the devil you retirement and you can only at low the result in the way we do 4 minutes if you go all the way up the after you you cannot you're not able to little uploaded uh the the the the solution OK so basically if you have more powerful computer than you'll have I have a lot of and yes and quite surprising quite so crying singly these doesn't count them most of the time in my whole career I mean I I did a lot of practice and the you code jams 5 probably and I the only once I E who really had something like a solution that run in 5 minutes instead of 4 and it was something like a tree the only state that they made so yes it may happen that a faster computer or the foster language is different but it's quite rare covariance think Republic of time on more western body all right but it is just the as under and the human eye and I remember