Effect of int , long int or long long int on time

Out of curiosity, I want to ask what difference does it make to use int , long int or long long int on the time taken by the code to execute successfully.
I already know that it can cause Wrong Answer but how does it affect on time?

1 Like

This question has been asked several times. I will include the relevant links soon (give me ~10-15 min). EDIT- Here is the link Why long long int causes TLE

The basic concept is that, a long long int will take two operations instead of 1 on it.

Visualisation- A 32 bit system, which has 32-bit cells to store stuff, would store 64-bit long long int by “splitting” it into two 32 bit ones and storing each in a cell and working on both of them. So number of operations double.

Basic idea is that long long int take twice the operation than int. Eg, if (int) 5+3 is 1 operation, but (long long int ) 5+3 is 2 operation

2 Likes

Check it for yourself. Run these codes on the Code, Compile and Run and check the time taken below:

int i,j;
for(i=0;i<1e+9;i++)
j=sqrt(i);


long long i,j;
for(i=0;i<1e+9;i++)
j=sqrt(i);


I hope you will understand the difference ! .

1 Like

That’s a very elegant, practical example.

Thank for help @pankajkhan :slight_smile:

1 Like

That sound’s more convincing that how using long long int instead of long int can cause tle. Thanks!