int lastEnd=-inf; for(int i = 0 ; i < n ; ++i){ bool canBeSelected=true; if(s[i] < lastEnd) canBeSelected=false; if(canBeSelected){ selected[i]=true; lastEnd=f[i]; ans.push_back(i); } }