(C++), Easy to understand with explanation
\n    bool asteroidsDestroyed(int mass, vector<int>& asteroids) \n    {\n        sort(asteroids.begin(),asteroids.end());\n\t\t// We will arrange the asteroids 
```\n    bool asteroidsDestroyed(int mass, vector<int>& asteroids) \n    {\n        sort(asteroids.begin(),asteroids.end());\n\t\t// We will arrange the asteroids in ascending order\n        long long planetmass=mass;\n\t\t// We will keep adding the mass of incoming asteroids\n        int n=asteroids.size();\n        for(int i=0;i<n;i++)\n        {\n\t\t// If the planet weigth is more as compare to  incoming asteroids then we will just add them  \n           if(pmass>=asteroids[i])\n           {\n               pmass+=asteroids[i];\n           }\n\t\t   // If the weigth of asteroid is more than planet total weight than it is not possible to destroyed asteroid\n            else\n                return false;\n        }\n        return true;\n    }\n```
['C', 'Sorting', 'C++']