개발자 톡

연습문제 톡 금고털이

금고털이 질문입니다.(해결)

등록일
2023-01-01 22:33:05
조회수
1300
작성자
bestar

아래 코드로 제출을 했는데 

2, 4, 5 번 테스트는 오답이 나옵니다.

뭐가 문제일까요?


?int m[n], p[n]을
n 입력받기전에 선언해서 오류가 생긴거같네요

고치니까 돌아갑니다.



#include 


int main(void)
{
	unsigned int w, n, e_price=0;
	unsigned int m[n], p[n];
	int temp_p,temp_m;
	int good[10001] = {0}; //[무게당 가격] good[무게당 가격] 

	scanf("%d %d", &w, &n );

//입력받고 배열번호를 무게당 가격으로 생각하고 배열값에 금속의 무게를 더해줌, M_i,P_i가 10^4인 것을 이용한 방법
	for(int i = 0; i0; i--){
		if(good[i]>=w){
				e_price = e_price + w*i;
				break;
		}

		else{
			e_price = e_price + good[i]*i;
			w = w-good[i];
			good[i]=0;

		}	
	}
        printf("%d",e_price);
	
	

/*	// 가격기준으로 내림차순으로 정리
	for(int i = 0; i=w){
				e_price = e_price + w*p[i];
				break;
			}

			else if((w-m[i])<=0){
				e_price = e_price + p[i]*w;
				break;
			}
			else if((w-m[i])>0){
				e_price = e_price + p[i]*m[i];
				w = w-m[i];
			}
			
		
		}
	*/ //주석 처리된 코드는 몇몇 테스트 코드에서 런타임 에러가 발생하였음
	

	return 0;


#금고털이
#오답

이 카테고리의 톡 더보기