개발자 톡
연습문제 톡
금고털이
금고털이 질문입니다.(해결)
- 등록일
- 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;
#금고털이
#오답