MAGICPOWER 문제 오답의 이유를 알고 싶습니다 xo0523xo MAGICPOWER 위에 문제에 대하여 출력을 한번에 하는 것과 각 경우마다 출력하는것 두가지로 시도해보았는데 계속 오답이 발생하여 원인을 알고 싶습니다 #include <iostream> using namespace std; int main() { int N = 100, M = 10000; int T = 0; int nGetMagic = 0; int nMax = 0; cin >> T; int *arr = new int[T]; for (int num1 = 0; num1 < T; num1++) { cin >> N >> M; if (N > 100 || N < 1 || M > 10000 || M < 1) break; int *magicNum = new int[N]; for (int num2 = 0; num2 < N; num2++) { cin >> magicNum[num2]; if (magicNum[num2] > 10000 || magicNum[num2] < 1) break; } for (; M > 0; M--) { for (int num2 = 0; num2 < N; num2++) { if (!num2) nMax = 0; else if (magicNum[num2] > magicNum[num2 - 1]) nMax = num2; } if (magicNum[nMax]) { nGetMagic += magicNum[nMax]; magicNum[nMax]--; } } arr[num1] = nGetMagic; nGetMagic = 0; N = 100, M = 10000; delete[]magicNum; } for (int num1 = 0; num1 < T; num1++) { cout << arr[num1] << endl; } delete []arr; return 0; } 9년 전
1개의 댓글이 있습니다. JongMan nMax를 잘못 구하고 계신 것 같네요. 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
xo0523xo
MAGICPOWER
위에 문제에 대하여 출력을 한번에 하는 것과
각 경우마다 출력하는것 두가지로 시도해보았는데
계속 오답이 발생하여 원인을 알고 싶습니다
9년 전