Wednesday, 23 July 2014

Getting Started with the Sport of Programming

This document is to guide those people who want to get started or have just started with competitive programming.

Originally, this document was prepared during the summers of 2014 to help the freshers of Indian Institute of Technology, Kanpur. So, we thought it might be useful to others as well.

Prerequisite : Basics of any programming language. We will follow C/C++.

Note : Please note that this blog is not meant to explain concepts in details. The Aim of this blog is to guide you about which topics you should read and practice in a systematic way. However, in many places short explanations have been included for their relevance. Relevant problems are given after each topic. Proper sources are given from where these concepts can be studied. Where sources are not mentioned, that means these are very very popular and you can get to know about them just by a single google search. Move forward and enjoy it !
All the following things are from our experience and not something written on stone.

  • You will need to show motivation.
  • Languages that should be used
    • C/C++/JAVA (your choice)
    • We will focus on C++, JAVA is slow (one big advantage of JAVA is Big Integers, we will see later)
    • C++ is like superset of C with some additional tools. So, basically if you have knowledge of C, you are ready to code in C++ as well.  Otherwise go back and learn how to write codes in C/C++
    • Sometimes knowledge of PYTHON is helpful when you really need big integers.


  • SPOJ: Its  a problem Archive (recommended for all beginners
    • Start with problems having maximum submissions. Solve first few problems (may be 20). Build some confidence. Then start following some good coders (check their initial submissions). Then start solving problems topic wise
    • Never get stuck for too long in the initial period. Google out your doubts and try to sort them out or you can discuss with someone (ONLY IN THE BEGINNING).
    • Before getting into live contests like codeforces or codechef, make sure that you have solved about 50-70 problems on SPOJ.

  • CODECHEF: Do all the three contests every month. Do participate in CodeChef LunchTime for sure.
    • Even if you are unable to solve a problem do always look at the editorials and then code it and get it accepted (this is the way you will learn).
    • And even if you are able to do it, do look at the codes of some good coders. See how they have implemented. Again you will learn.
    • Same point apply to TopCoder and Codeforces as well.

  • Codeforces: 4 to 5 short contests of 2 hour in a month (Do them once you develop some confidence).
  • TopCoder: Once you have proper experience and you can write codes very fast.

Online Programming Contests:

You write codes and submit them online . The judge runs your code and checks the output of your program for several inputs and gives the result based on your program’s outputs.You must follow exact I/O formats. For example, do not print statements like : “please enter a number”, etc :P

Each Problem has constraints:
Properly analyse the constraints  before you start coding.
  • Time Limit in seconds (gives you an insight of what is the order of solution it expects) -> order analysis(discussed later).
  • The constraints on input ( very imp ): Most of the time you can correctly guess the order of the solution by analysing the input constraints and time limit .
  • Memory Limit ( You need not bother unless you are using insanely large amount of memory).

Types of errors you may encounter apart from wrong answer :

  • Run Time Error (Most Encountered)
    • Segmentation fault ( accessing an illegal memory address)
      • You declared array of smaller size than required or you are trying to access negative indices .
    • Declaration of an array of HUGE HUGE(more than 10^8 ints) size -_- .
    • Dividing by Zero / Taking modulo with zero :O .
    • USE gdb ( will learn in coming lectures )
  • Compilation Error
    • You need to learn how to code in C++.
    • USE GNU G++ compiler or IDEONE(be careful to make codes private).
  • Time Limit Exceed (TLE)
    • You program failed to generate all output within given time limit.
    • Input Files are not randomly generated , they are made such that wrong code does not pass.
    • Always think of worst cases before you start coding .Always try to avoid TLE.
    • Sometimes a little optimizations are required and sometimes you really need a totally new and efficient algorithm (this you will learn with time).
    • So whenever you are in doubt that your code will pass or not .Most of the time it won’t pass .
    • Again do proper order analysis of your solution .

Sometimes when you are stuck . Check  the running time of other accepted codes to take an insight like what Order of solution other people are writing / what amount of memory they are using.

4 MB ~ array of size 10^6 . Or 2-d array of size 10^3*10^3
Standard Memory limits are of Order of 256MB
Order analysis :
Order of a program is a function dependent on the algorithm you code. We wont go in theoretical details just think Order of program as the total number of steps that program will take to generate output generally a function based on input like O(n^2) O(n) O(log n) .

Suppose you write a program to add N numbers .See the following code.

int cur,sum=0;
for(int i=0;i<n;++i)
    sum = sum+curr;
Total number of computations = n*(1+1+1+1)
n times checking i
n times i++
n times scanf
n times + operating

So total of 4*N.
We remove the constant and call it O(N)
This is the simplest I can explain.You will get further understanding with practice and learning.

You must know running time of these algorithms (MUST)
Binary Search -> ?
Merge / Quick sort -> ?
Searching an element in sorted/unsorted array -> ?
HCF / LCM / Factorization / Prime CHeck ?

We all know the computation power of a processor is also limited.
Assume 1 sec ~ 10^8 operations per second . (for spoj old server it is 4*10^6).
Keep this in mind while solving any problem.

If your program takes O(n^2) steps and problems has T test cases . Then total order is T*N^2.

For T < 100 and N < 1000 . It will pass .
But for T < 1000 and N < 1000 it wont .
Neither for T < 10 and N < 10000 

Sum three numbers.
Constraints :
0 < a,b,c < 10^9
int main()
    int a , b,c;
    scanf(“%d %d %d”,&a,&b,&c);
    int ans = a + b + c;
    return 0;

This program won't give correct output for all cases as 3*10^9 cannot be stored in INTS you need long long int or unsigned int (4*10^9).
what if 0

Comparing Doubles :
int main()
float a ;
if(a == 10 ) printf(“YES”);
return 0;
float / double don’t have infinite precision . BEWARE ( 6/15 digit precision for them respectively)
Try the following problem.

Standard Template Library (STL):
In your code sometimes you need some Data Structures(DS) and some functions which are used quite frequently. They already have lots of standard functions and data structures implemented within itself which we can use directly.
  • Data Structures  ( To be discussed in later lectures ) 
    • Vectors
    • Stack
    • Queue
    • Priority Queue
    • Set
    • Map 
  •  Functions
    • Sort
    • Reverse
    • GCD
    • Swap
    • next_permutation
    • binary_search (left + right)
    • max, min
    • pow, powl
    • memset 

Now imagine writing codes using these inbuilt functions and data structures . It would be much more simpler now.

What headers/libraries should you include ?
Basically the above functions / DS are in different libraries. So in some cases you may need to include many headers . But you can include everything using just one header.

        #include <bits/stdc++.h>
Try the following problem :
Which of the above inbuilt function did you use ?
What if you need to sort an Array of structure ? 
You can either make a struct and write compare function for it.(Read more at you can use an vector of pair.
Now you are ready to start competitive programming .
You can continue reading this doc or get started on your own . Good luck :)
First, you must learn the basic and well known algorithms . Not only the algorithm but you must also understand why that works , proof , code it and analyze it . To know what basic algorithms you must know you can read :

Also read these answers on how to start competitive programming and get good at it.

TopCoder has very nice tutorials on some topics, read them here .

You can also read this book topic wise to understand an algorithm in a deeper way

To get good at writing fast codes and improving your implementation, you can follow this:
My personal advice is to start practicing on TopCoder . Start with Div2 250 master it then start with Div2 500 master it then move to Div1 250 .Also read the editorials of problem you solve and the codes of fastest submissions to learn how to implement codes in simple and elegant way.Meanwhile keep learning algorithms and keep practicing them on SPOJ or CodeChef or Codeforces . And do read the tutorials, after a time you will realize that the tricks and methods to solve are repeating themselves . We learn from practice only . If you read same thing 5 times in different tutorials then it will not be stored in your short term memory only right .

Below are few topics to start with and problems related to those topic.
They are very basic stuffs and you can learn all you need to know by just googling them out.

“When i will get some time I will try to update and give more details about the topics a newbie should cover.”
Try to do all the problems stated below if you are a beginner.


  • Try as many as you can.
  • Other things that you can read meanwhile
    • Euler Totient function and Euler's theorem [[ READ ]]
    • Modulo function and its properties
    • Miller-Rabin Algorithm            [[ READ ]]
    • Extended Euclid's Algorithm        [[ READ ]]
    • Keep exploring STL
    • Prove running time of HCF is O(log n)
    • Try sorting of structures
    • Practice few problems on several Online Judges
    • Try to do + - * operations on large numbers(<1000 digits) using char array (for learning implementation)
    • Number of factors and sum of factors in sqrt(n) time ,Number of primes till N

Basic Number Theory
  • Modulo operations and Inverse modulo
  • How to compute a ^ b % p in O(log b), where p is prime
  • Find Nth fibonacci number modulo p [Read Matrix exponential]
  • n! % p  ( what if we have lots of test cases )
  • ETF ( calculation / calculation using sieve )
  • Euler theorem , Fermat’s little theorem , Wilson theorem            [[ READ ]]
  • nCr % p (inverse modulo) ( read about extended euclid algorithm)
  • (p-1)! % p  for prime p, Use of fermat theorem in Miller-Rabin ( Probabilistic ) ( )
  • 64 Choose 32 < 10^19 we can precompute till herein a 2 dimentional array [Learn use of the recursive relation : (n+1)Cr = nCr + nC(r-1)]
  • Number of ways to traverse in 2D matrix[Catalan Number] ( what if some places are blocked ? Hint : DP)
  • a^b % c . Given Hcf(a,c) = 1 .And  what if Hcf(a,c) ! = 1.  [[ READ Chineese Remainder Theorem, not used much in competition]]
  • Matrix Exponentiation
  • solving linear recurrence using matrix exponentiation(like fibonacci)

Power of BITS
  • Numbers are stored as binary bits in the memory so bits manipulation are alway faster.
  • Bitwise 'or' operator    : |
  • Bitwise 'and' operator : &
  • Bitwise 'xor' operator  : ^
  • Bitwise 'left shift'         : <<
  • Bitwise 'right shift'       : >>
  • Memset and its uses using function : sizeof()
  • Bitmask and use of Bitmask in Dynamic Programming [[subset DP]]
  • Some cool Tricks
    • n = n * 2 :: n = n << 1
    • n = n /2  :: n = n >> 1
    • checking if n is power of 2 (1,2,4,8…) ::checking !(n & (n-1))
    • if x is max power of 2 dividing n, then x = (n & -n)
    • Total number of bits which are set in n = __builtin_popcount(n)
    • setting xth bit of n  :: n |= (1<<x)
    • checking if xth bit of n is set :: checking if  n&(1<<x) is non zero
  • Problem : You are given N numbers and a numbers S. Check if there exist some subset of the given numbers which sums equal to S .What if you are asked to compute the number of such subsets ?
  • Practice problems:

Binary  Search
  • Understand the concept of binary search. Both left_binary_search and right_binary_search. Try to implement it on your own. Look at others implementation.
  • sample implementation :
int l = 0, r = 10000,  key_val = SOME_VALUE, m;
while (r - l > 1)
m = (l+r) >> 1;
int val = some_non_decreasing_function(m);
if(val < key_val) l = m;
else r = m;
if  (some_non_decreasing_function(l) == key_val ) return l;
else return r;

// this can be modified in a variety of ways, as required in the problem

The Beauty of Standard Template Library of C++ 


Some Practice Problems Before you proceed further

Any Ideas ?

  • Def : Think graphs as a relation between node , related nodes are connected via edge.

  • How to store a graph ? ( space complexity )
    • Adjacency Matrix ( useful in dense graph)
    • Adjacency List (useful in sparse graph) O(min(deg(v),deg(u)))

  • You must know the following terminologies regarding Graphs :
    • Neighbours
    • Node
    • Edge
    • Degree of vertices
    • Directed Graph
    • Connected Graph
    • Undirected Graph
    • Connected components
    • Articulation Points
    • Articulation Bridges
    • Tree [[ connected graph with N nodes and N-1 edges]]
      • Leaves
      • Children
      • Parent
      • Ancestor
      • Rooted Tree
      • Binary Tree
      • K-ary Tree
    • Cycle in graph
    • Path
    • Walk
    • Directed Acyclic Graph [[ DAG ]]
      • Topological Sorting (Not very important, in my opinion)
    • Bipartite Graph ( Tree is an example of Bipartite Graph . Interesting Isn’t it.)

  • Breadth First Search/Traversal (BFS) [[ very important, master it as soon as possible]]
    • Application : Shortest path in unweighted graphs

  • Problem : You are given a Graph. Find the number of connected components in the Graph.
    • Hint : DFS or BFS.
  • Problem : You are given a grid with few cells blocked and others open. You are given a cell , call is source, and another cell , call it dest. You can move from some cell u to some another cell v if cell v is open and it is adjacent to cell u. You have to find the shortest path from source to dest.  
    • Hint : Try to think the grid as a Graph and apply some shortest path algorithm. Which one ? You think !
  • Problem : You are given a Tree. You need to find two vertices u and v such that distance between them maximum.
    • Hint : Try to do it in O(1) number of DFS or BFS !


Greedy Algorithms are one of the most intuitive algorithms. Whenever we see a problem we first try to apply some greedy strategy to get the answer(we humans are greedy, aren’t we :P ? ).
Read this tutorial for further insight or you can directly attempt the problems most of the greedy approaches are quite simple and easy to understand/formulate.But many times the proving part might be difficult. But you should always try to prove your greedy approach because most the times it happens that you later realise that you solution does not give the optimal answer.

They are generally used in optimization problems and there exists an optimal substructure to the problem and solutions are generally O(n log n) (sorting) or O(n) (single pass).

Problems List:

Q)A thief breaks into a shop and finds there are N items weight of ith item is Wi and cost of ith item is Ci and thief has a bag of which can carry at most W units of weight. Obviously thief wants to have maximum profit . What strategy he should choose if :

Case 1: If he is allowed to take fractional part of items (like assume item to be a bag of rice and you can take whatever fraction of rice you want). [Hint :: greedy])

Case 2:If he cannot break the items in fractional parts. Will now greedy work ? Try to make some test cases for which greedy will fail.

Most of time when greedy fails its the problem can be solved by Dynamic Programming(DP).


In my view this is one the most important topic in competitive programming. The problems are simple and easy to code but hard to master. Practice as many DP problems as much possible.

You must go through this topcoder tutorial and you must try to solve all the problems listed below in this doc.

( These are basic problems and some with few variations that we feel one should know. You must practice other DP problems too)
Problems list:

For further advanced topics you can follow topcoder tutorials.

If you have any queries / suggestions please contact us.

Triveni Mahatha

Co ordinators @ Programming club IIT Kanpur [2014-15]


  1. This comment has been removed by the author.

  2. well this is going to be very useful guide for beginners like me..please keep updating this post with more necessary practice problems. It would be so helpful to solve exact right niche problems instead of wasting time on non-useful ones. happy coding :)

  3. I truely will follow what you write, whenever you write, on this blog. Keep them coming.
    Thank you for not being selfish. Happy to see these kind of people.

  4. This comment has been removed by the author.

  5. Thanks a ton for this awesome guide! Its difficult to follow the coding groups in college sometimes due to time/projects/other factors, but this guide is a great way to progress in a systematic manner.
    What kind of questions should i start with on spoj? Sort by accuracy and solve the ones with highest number of submissions + high accuracy?

  6. Thanks, its really really concise and informative.

  7. Hi!,
    Given link for topic wise book for algo is not working. Is it the clrs ?

  8. is not available. Could you share any alternate link or the book itself?

  9. This information is very useful to us by the way nice post and thanks for share any way . I want you to visit the link below to get some useful info like Customer Care Number

  10. Thanks for sharing the info...very helpful...

  11. Also please keep updating the blog.....

  12. This comment has been removed by the author.

  13. Great info !

    My personal favourite is knuth's volumes along with the book
    Cracking Programming Interviews: 500 Questions With Solutions by Sergei Nakariakov

  14. Thanks for sharing the information. It is very useful for my future. keep sharing
    baixar facebook
    baixar whatsapp
    unblocked games

  15. Very useful! thank you so much for sharing this! keep sharing more! (Y)

  16. Thank you sharing your experience. It is very much useful.BTW i was looking for someone who can guide me how to be a good coder.Keep sharing more ideas and thoughts in future...

  17. i am very happy to read this article.. thanks for giving us nice info. fantastic walk-through. i appreciate this post.

    sports investment

  18. very helpful for beginners who don't know how to start their journey
    and well done bro!!

  19. Learn highest paid programming language Earlang tutorial

  20. Thanks for the information and links you shared this is so should be a useful and quite informative!
    Body building

  21. Valuable site, where did u come up with the information in this posting? I am pleased I discovered it though, ill be checking back soon to find out what new content pieces u have.
    bubble football london

  22. I have to say this has been probably the most helpful posts for me. Please keep it up. I cant wait to read whats next.
    Body By Vi Results

  23. There are certainly a lot of details like that to take into consideration.
    zorb football uk

  24. Thanks for always being the source that explains things instead of just putting an unjustified answer out there. I loved this post.
    the fantasy lineup

  25. Sir, I am student of 3rd year btech of electronics and communication engineering from indian school of mines. I want to know that what is real use of competitive programming. I also want to do competitive programming but i have not so much time. Will i become good progrmmer in six months ? Or i leave this and do another thing like php developer or backend developing ?

  26. This comment has been removed by the author.

  27. The TopCoder tutorials link above doesn't work for me, but this does
    TopCoder tutorials

  28. This point has dependably been one of my most loved subjects to peruse about. I have observed your post to be exceptionally energizing and brimming with great data. I will check your different articles in the blink of an eye. integrated voice response

  29. This blog awesome and i learn a lot about programming from here.The best thing about this blog is that you doing from beginning to experts level.

    Love from

  30. This is too good..
    Thanks for sharing this code,.
    angularjs training

  31. Replies
    1. Do you mean diamond problem of inheritance in c++ ?

  32. I like your post & I will always be coming frequently to read more of your post. Thank you very much for your post once more.
    edmonton basketball

  33. Resources like the one you mentioned here will be very useful to me! I will post a link to this page on my blog.
    zorb football hire

  34. Programming is very interesting and creative thing if you do it with love. Your blog code helps a lot to beginners to learn programming from basic to advance level. I really love this blog because I learn a lot from here and this process is still continuing.
    Love from Pro Programmer

  35. Resources like the one you mentioned here will be very useful to me! I will post a link to this page on my blog.
    fu hai feng

  36. One of the best article about programming language,
    AngularJs development companies

  37. This comment has been removed by the author.

  38. You can see the solutions to above problems in case of difficulty at

  39. Programming is very interesting and creative thing if you do it with love. Your blog code helps a lot to beginners to learn programming from basic to advance level. I really love this blog because I learn a lot from here and this process is still continuing.
    Love from Pro Programmer

  40. I think this post will be a fine read for my blog readers too, could you please allow me to post a link to my blog. I am sure my guests will find that very useful.
    bubble football

    1. Sure. Do post this link if you think people will be benefited.

  41. Your Post is very useful, I am truly happy to post my note on this blog . It helped me with ocean of awareness so I really consider you will do much better in the future.

  42. why do west ham sing im forever blowing bubbles?
    zorb football hire

  43. wellgooo è l'opzione migliore per l'intrattenimento e la spesa del tempo in questi Attività sport , all'aperto, divertimento , Lago di Gard , attivita , rafting , bici, trekking, escursioni e vela .

  44. Programming is very interesting and creative thing if you do it with love. Your blog code helps a lot to beginners to learn programming from basic to advance level. I really love this blog because I learn a lot from here and this process is still continuing.
    Love from Pro Programmer

  45. Great article it was such an interesting and informative article.
    weight training videos

  46. I definitely appreciate your blog. Excellent work and very nice information about the sports.
    Skater Owned Skate Shop

  47. Hi I really appreciate all the great content you have here. I am glad I cam across it!

    1. Oh Nice Post i will share my facebook friend and other net work
      Pokémon GO APK Download

  48. I like your post & I will always be coming frequently to read more of your post. Thank you very much for your post once more.
    WWE Facts

  49. nic post...

  50. Programming is combination of intelligent and creative work. Programmers can do anything with code. The entire Programming tutorials that you mention here on this blog are awesome. Beginners Heap also provides latest tutorials of Programming from beginning to advance level. Be with us to learn programming in new and creative way.

  51. Great article about the sports and this is such an interesting and informative article.
    Quattro - Peg Skate Documentary

  52. Good information and great post about the sports and i really like it.
    Golf Equipment

  53. wow that is so interesting and it's a great information. thanks
    Facts about Original ECW

  54. Super blog and very nice and useful information about the sports and wrestling.good work.

    Top 10 BEST WWE Wrestling Games

  55. Nice article have great information about the play games.
    Facts About Wrestling Video Games

  56. Oh Nice Post i will share my facebook friend and other net work
    Pokémon GO APK Download

  57. I found some useful information in your blog, it was awesome to read, thanks for sharing.
    Kid Coders Singapore

  58. Most valuable and fantastic blog I really appreciate your work which you have done about the 50 AMAZING facts of the WWE,many thanks and keep it up.
    50 AMAZING facts of the WWE

  59. Nice work and all information about the 50 AMAZING facts of the WWE that's are very amazing well done.
    50 AMAZING facts of the WWE

  60. Really you blog have very interesting and very valuable information about the School Assembly Tour.
    School Assembly Tour

  61. This is such a great blog and the offers about addidas shoes are too good.
    I really liked this brand.

    Yezzy Replica Adidas

  62. thank the good topic.
    Welcome To Casino online Please Click the website
    thank you.
    gclub casino
    gclub จีคลับ

  63. Nice tutorial. Thanks for sharing the valuable info about c Training. it’s really helpful. Who want to learn c language this blog most helpful. Keep sharing on updated tutorials…..

  64. I truly Follow what you write and i want to thank you for sharing this content with us
    hetakshi patel

  65. I really appreciate the post here. Thank you so much!

  66. Seriously this is a amazing blog for kids, Thanks for shared wonderful info!!!
    Children Learning Programs Singapore

  67. Nice blog and the description about it very amazing I really liked it.

    Entrepreneur John Salley

  68. Hey your blog is very nice, such useful information you are sharing. I really like your blog the information is very accurate and if you want to know more about free ad posting service, there is another website with best information.

  69. Thanks for the information you shared that's so useful and quite informative and i have taken those into consideration....

    Design Custom Sport Uniforms

  70. Thanks for providing good information,Thanks for your sharing.


  71. Thanks for the job listing. It will definitely help people who are looking for job. Also check our Job search website which has latest job postings from all over the globe.

  72. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.
    Ghana Lotto

  73. Impressive web site, Distinguished feedback that I can tackle. Im moving forward and may apply to my current job as a pet sitter, which is very enjoyable, but I need to additional expand. Regards.
    Ghana Lotto

  74. Hey Gyss Check out this...

    Softpro Learning Center (SLC)is the training wing of Softpro India Computer Technologies Pvt.
    Limited. SLC established itself in the year 2008.
    SLC offer an intensive and extensive range of training/internship programs for B.Tech, BCA, MCA & Diploma students.
    Softpro Learning Center is a best Summer training institute in Lucknow extends in depth knowledge of technology like .Net, Java, PHP and Android and also an opportunity to practically apply their fundamentals. SLC’s objective is to provide skilled manpower to support the vast development programs.

  75. Thanks for sharing such a valuable information. Get car on hire from Jaipur Car Rental . Quick pickup and drop at lowest price. Book your car rental in jaipur with driver,Rajasthan Tour and tour booking in Jaipur now! by tour and travels agencies in jaipur.

  76. Nice blog Content.It is very informative and helpful. Please share more content. Thanks.
    PHP Training in Gurgaon
    PHP Course in Gurgaon
    PHP Institute in Gurgaon

  77. This information you provided in the blog that is really unique I love it!! Thanks for sharing such a great blog. Keep posting..
    Python training
    Python Course
    Python training institute

  78. You always provide quality based posts, enjoy reading your work. replica watches india

  79. All of your posts are well written. Thank you. post free ads

  80. Thank you so much in 2018 too.

  81. Get Full Body Massage by Our Professional Female Therapist and Get Proper Massage with Happy Ending.
    Full Body Massage in Gurgaon
    Body to Body Massage in Gurgaon
    Deep Tissue Massage in Gurgaon
    Aure Signature Massage in Gurgaon
    Shiatsu Massage in Gurgaon
    Thai Massage in Gurgaon
    Head Massage in Gurgaon

    ___________ ★★★★★★★★★★
    __________ ★★★★★★★★★★★
    _________ ★★★★★★★★★★★★
    _________ ★★★★★★★★★★★
    ________ ★★★_★★★★★★★★★
    _______ ★★★__★★★★★★★★
    ______ ★★★___★★★★★
    ★★★★__ ★★★★★★★★★★★★★★
    ★★★_____ ★★★★★★★★★★★★
    _★★★ _____★★★★★★
    __★★★ ____★★★★★★

  82. Thanks for sharing this kind of useful information xtensible offers best web programmers.
    For More Information. Click here

  83. You give good example for sport.I Think it's really amazing . Correct score predictions sites.

  84. Thank you very much. I fully agree with your blog, this really helped me!
    Kid coders Singapore

  85. Thanks for posting great information. Now a days python has become more popular programming language with data science.

    Python Training in Pune
    Python Classes in Pune
    Python Institutes in Pune

  86. Wanted to take this opportunity to let you know that I read your blog posts on a regular basis. Your writing style is impressive, keep it up! replica watches india

  87. Thanks for sharing valuable information.keep blogging.
    web programming tutorial

  88. Nice blog
    Download computer Programming ebooks for free

  89. Thank you very much for posting and sharing this great Blog And Good Information.keep posting DevOps Online Training

  90. hanks for your information, the blog which you have shared is useful to us
    Datastage Online Training

  91. I found this post interesting and worth reading. Keep going and putting efforts into good things. Thank you!!Data Science Online Training in Hyderabad

  92. Hi, nice blog.. This was simply superb,, thanks for sharing such a nice post with us... Best Python Online Training || Learn Python Course

  93. I am really searching this type of blog.Thanks for sharing this blog with us.

    Hire Angularjs Developer

  94. Programming is very good thing if you do it with full of interest. Your blog is helpful for us for beginers.. Great blog
    Great work keep it up.. keep bloging like this..
    Python Training in Jaipur

    Hadoop Training in Jaipur

    Software Testing training in Jaipur

    MVC Training in Jaipur

    Adobe Photoshop Training in Jaipur

    NETWORKING Training In Jaipur

  95. Competitive Programming is a great way to showcase your problem-solving skills, which is certainly something a lot of companies look for. Today, most interview questions of tech companies are level 2 or 3 problems that most Competitive Programmers anyway solve.

    There are essentially 6 key steps in learning Competitive Programming:

    - Step 1, Learn a well-known programming language
    - Step 2, Starting with Competitive Programming
    - Step 3, Get Familiar with Data Structures
    - Step 4, Get Familiar with Algorithms
    - Step 5, Starting with actual online competitions
    - Step 6, Practice Practice Practice

    At CareerHigh, we have created a detailed Competitive Programming roadmap to help you learn Competitive Programming from scratch. The objective is to help you understand each of the above steps in great detail so that you can develop strong problem-solving skills and end up with a dream job at your desired tech company.

  96. I am really enjoying reading your well-written articles. It looks like you spend a lot of effort and time on your blog. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work.
    Hadoop Training in Chennai
    Big Data Training in Chennai
    Selenium Training in Chennai
    Software Testing Training in Chennai
    Java Training in Chennai
    big data training in chennai anna nagar
    hadoop training in Velachery

  97. This comment has been removed by the author.

  98. Congratulation for the great post. Those who come to read your Information will find lots of helpful and informative tips. Python Training In Jaipur

  99. amazing content really informational !!

    check our site too :pytholabs

  100. good job and thanks for sharing such a good blog You’re doing a great job.Keep it up !!

    machine learning training in jaipur

  101. Amazing blog you have shared. I read it and get knowledge deeply. I really appreciate the good quality content you are posting here for free. It’s a really interesting site.
    Professional Web design services are provided by W3BMINDS- Website designer in Lucknow. Web development Company | Web design company


  102. Thank you for sharing such great information very useful to us.
    Python Training in Gurgaon

  103. A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

  104. If you’re looking for a destination to outsource your software development, then one of the Eastern European countries may be a a good match for you. Check out this article to find how to find blockchain developers.

  105. A Computer Science portal for geeks. It contains well written, well thought and well
    explained computer science and programming articles, quizzes and practice/competitive
    programming/company interview Questions.

  106. A Computer Science portal for geeks. It contains well written, well thought and well
    explained computer science and programming articles, quizzes and practice/competitive
    programming/company interview Questions.

  107. A Computer Science portal for geeks. It contains well written, well thought and well
    explained computer science and programming articles, quizzes and practice/competitive
    programming/company interview Questions.

  108. เว็บไซต์คาสิโนออนไลน์ที่ได้คุณภาพอับดับ 1 ของประเทศ
    เป็นเว็บไซต์การพนันออนไลน์ที่มีคนมา สมัคร Gclub Royal1688
    และยังมีเกมส์สล็อตออนไลน์ 1688 slot อีกมากมายให้คุณได้ลอง
    สมัครสมาชิกที่นี่ >>> Gclub Royal1688

  109. โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร Gclub กับทางทีมงานของเราเพียงเท่านั้น
    สมัครสมาชิกที่นี่ >>> Gclub online

  110. Hi Hello How are you i read your article very nice please post you Experence thank you First Copy Watches In Mumbai | First Copy Watches In Delhi India

  111. hi
    I really like your Knowledgeable post Great information.
    fake Watches in India

  112. The Best Article to share. Thanks for Sharing. sports