KLIS 질문드립니다. 임정민 안녕하세요 교제를 차곡차곡 풀어보고 있는 중에 KLIS 관련 문의드립니다. 교제상에는 if (cnt <= skip) { skip -= cnt; } 로 조건이 이하로 되어있는데 저부분을 미만으로 고쳐줘야 정답이 도출됩니다. 같을때도 그만큼 스킵을 해야해서 이하가 되는게 맞는것 같은데 이해가 되지 않아 문의드립니다. void reconstruct(int start, int skip, vector<int>& lis) { if (start != -1) lis.push_back(S[start]); vector<pair<int, int>> followers; for (int next = start + 1; next < n; ++next) { if ((start == -1 || S[start] < S[next]) && lis3(start) == lis3(next) + 1) { followers.push_back(make_pair(S[next], next)); } } sort(followers.begin(), followers.end()); for (int i = 0; i < followers.size(); ++i) { int idx = followers[i].second; int cnt = count(idx); if (cnt < skip) { skip -= cnt; } else { reconstruct(idx, skip, lis); break; } } } 8년 전
1개의 댓글이 있습니다. 웅2 skip은 k-1로 두셨는지 확인해보세요~ 8년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
임정민
안녕하세요 교제를 차곡차곡 풀어보고 있는 중에
KLIS 관련 문의드립니다.
교제상에는
if (cnt <= skip) {
skip -= cnt;
}
로 조건이 이하로 되어있는데
저부분을 미만으로 고쳐줘야 정답이 도출됩니다.
같을때도 그만큼 스킵을 해야해서 이하가 되는게 맞는것 같은데
이해가 되지 않아 문의드립니다.
8년 전