KBODRAFT 제가 문제를 잘못 이해한 것인가요?

  • porcosedol
    porcosedol

    안녕하세요.
    KBODRAFT 문제에 대한 질문인데요.
    지원자 중에서 포지션별로 9명 이상의 선수를 선발하고
    각 포지션별로 최고 능력치의 합을 구한다는 것으로 이해했습니다.

    그렇다면 한번에 뽑을 수 있는 사람의 숫자라는게
    9명 이상이라는 조건이면 9명을 뽑나 지원자를 전부 뽑나
    결과가 같은 것이 맞나요?

    그래서 배열로 해당 포지션의 지원자 중에서 최대 능력치 값만
    저장한 후 배열의 값들을 더한 식으로 작성했는데
    오답으로 나왔기도 하고 이렇게 단순한 문제가 아닌건가 싶기도 합니다.

    제가 문제를 잘못 이해한 것인지 구현에 실수가 있는 것인지 궁금합니다.

    #include <iostream>
    #include <vector>
    #include <array>
    using namespace std;
    
    int main(void){
    
        int total_num;
        cin >> total_num;
        while (total_num) {
            int player_num, drafted_num;
            cin >> player_num >> drafted_num;
    
            array<int, 9> drafted_result = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            for (int i = 0; i < player_num; i++) {
                int pos, ability;
                cin >> pos >> ability;
                if (drafted_result.at(pos-1) < ability)
                    drafted_result.at(pos-1) = ability;
            }
    
            int sum = 0;
            for (auto i : drafted_result)
                sum += i;
            cout << sum << endl;
            total_num--;
        }
        return 0;
    }
    

    10년 전
2개의 댓글이 있습니다.
  • Being
    Being

    문제를 잘못 이해하신 것 같습니다. 반드시 연속된 K명만을 뽑아야 합니다.


    10년 전 link
  • porcosedol
    porcosedol

    아. 연속된 K명이란게 핵심이군요. 감사합니다.


    10년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.