```
class Solution {
public:
string optimalDivision(vector<int>& nums) {
int n = nums.size();
if(n==0) return "";
if(n==1) return to_string(nums[0]);
if(n==2) return to_string(nums[0])+"/"+to_string(nums[1]);
string ret = to_string(nums[0])+"/(";
for(int k = 1;k<nums.size();k++) {
if(k<nums.size()-1) ret += to_string(nums[k])+"/";
else ret += to_string(nums[k])+")";
}
return ret;
}
};
```