int help_count(vector<int> chicken, Running* cow, int n) {

int help = 0;

int coi = 0; //cow index

while (coi < n) {

auto it = lower_bound(chicken.begin(), chicken.end(), cow[coi].s);

if (it != chicken.end() && *it <= cow[coi].e) {

help++;

chicken.erase(it);

}

coi++;

}

return (help);

}


위 함수에서 chicken.size() == n == 20000 인데, coi < n 안에 vector erase가 있으면 20000^2 이 되는거 아님?

왜 시간초과가 안나고 통과하는거지