Link to Problem:-https://www.codechef.com/problems/VEGETA

My Solution:-https://www.codechef.com/viewsolution/18911997

Here’s where you are doing wrong

for(int k=n; k < m;k++)

{

int ct=0;

while(k%2==0)

{

k/=2;

ct+=1;

}

if(ct>0)

{

en+=1;

}

for(int j=3;j<=sqrt(k);j+=2)

{

while(k%j==0)

{

en+=1;

k/=j;

}

}

if(k>2)

{

en+=1;

}

}

Your loop variable is k and you are continuosly reducing it and the loop is running for infinite times.

I made some adjustments to your code link to code

But it will still give TLE using above code

Refer this link to solve the problem

you can refer my solution https://www.codechef.com/viewsolution/18887081