강의로 돌아가기
진성호

뭐가 문제일까요?

테스트 케이스는 잘 돌아가는데 채점만 하면 정확성 4~7, 10 효율성 1번 이 틀리네요 ㅠㅠ

작성중인 코드―solution.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

int solution(int stock, vector<int> d, vector<int> s, int k) 
{
    int answer = 0;
    vector<int> arr;
    int nmax = 0;
    int ni = 0;

    k--;

    while(k - stock > 0)
    {
        for(int i = ni; i < d.size(); i++)
        {
            if(stock < d[i])
                break;
            else
                arr.push_back(i);
        }

        for(int i = 0; i < arr.size(); i++)
        {
            if(nmax <= s[arr[i]])
            {
                ni = arr[i];
                nmax = s[ni];
            }
        }

        s[ni] = 0;

        answer++;

        cout << nmax << " " << ni << endl;

        stock += nmax;
        nmax = 0;
        ni++;
        arr.clear();

        if(ni == s.size() && k - stock > 0)
        {
            sort(s.begin(), s.end(), greater<int>());
            cout << stock << endl;
            ni = 0;
            do
            {
                stock += s[ni];
                answer++;
                ni++;
            }while(k - stock > 0);


            break;
        }
    }

    return answer;
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.