sorry friend, can u explain to us with more simple word? i cant understand u mean, sorry im newbie here

thank you.
The original poster asked for a somewhat complicated answer itself. In short, what I basically said was that in order to check which chain is the best, the getheaders function can be used. You give another user your blockchain, and they tell you which blocks they think you are missing. You compare their blocks to your blocks, and then find out which has a higher sum of difficulty.
Plus its also the longest chain right? I remember there was a new fix where the longest chain with the highest difficulty is selected as the original.
No, longest chain is only a way to explain it in a simple manner. Highest total difficulty is what is used.
A chain with blocks [A,B,C,D,E] is longer than chain [A,B,P,Q,R,S] if the difficulty of C+D+E > difficulty of P+Q+R+S even though there are more blocks in the latter.
There are potential attacks on the blockchain wherein an attacker can create a chain where difficulty would be lower than actual chain difficulty, allowing them to create blocks faster. In order to prevent this attack, the 'longer' chain is decided by sum of difficulty and not total length.
A chain with a million blocks of difficulty 1 is shorter than a chain with two blocks with a difficulty of 600,000