LUNCHBOX (java) 답 출력은 잘 되는데, 오답이 나오네요 ㅜㅜ 도와주실분!!

  • dsj
    dsj

    import java.util.Scanner;

    public class Main {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int TC = sc.nextInt();
    for(int testCase=0; testCase<TC; testCase++){
    int N = sc.nextInt();
    int[] M = new int[N];
    int[] E = new int[N];

    for(int i=0; i<N; i++){
                M[i] = sc.nextInt();
            }
            for(int i=0; i<N; i++){
                E[i] = sc.nextInt();
            }
            for(int j=0; j<N; j++)
            {
                int max = E[j];
                int index_m = j;
                for(int i=j+1; i<N; i++)
                {
                    if(max < E[i])
                    {
                        int tmp = max;
                        E[index_m] = E[i];
                        E[i] = tmp;
    
                        tmp = M[index_m];
                        M[index_m] = M[i];
                        M[i] = tmp;
                    }
                    else if(max == E[i]){
                        if(M[index_m]>M[i]){
                            int tmp = M[index_m];
                            M[index_m] = M[i];
                            M[i] = tmp;
                        }
    
                    }
                }
            }
    
            int end = 0;
            int start = 0;
            for(int i=0; i<N; i++){
                start += M[i];
                end = Math.max(end, start+E[i]);    
            }
            System.out.println(end);
        }}

    }


    7년 전
1개의 댓글이 있습니다.
  • JongMan
    JongMan

    정렬을 잘못 하고 계신것 같네요. index_m 을 주의해서 보세요.


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