3개의 댓글이 있습니다.
-
-
skylife927 -
죄송합니다. ㅠㅠ
퀵소트로 다시 짜봤어용#include <iostream> using namespace std; #define MAX_N 10000 void bubbleSort(int* arr, int N){ for(int i=1; i<=N; i++){ for(int j=1; j<=N; j++){ if(arr[j] > arr[j+1]){ int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j+1] = temp; } } } } void swap(int a[], int left, int right){ int temp = a[left]; a[left] = a[right]; a[right] =temp; } void quickSort(int a[], int left, int right){ int pivot, i, j; if(left<right){ i = left, j = right +1, pivot = a[left]; do { do i++; while(a[i] < pivot); do j--; while(a[j] > pivot); if(i<j) swap(a, i, j); }while(i<j); swap(a, left, j); quickSort(a, left, j-1); quickSort(a, j+1, right); } } int abs1(int a){ if(a<0) return a*(-1); else return a; } int main(int argc, char** argv) { int test_case; int T; cin >> T; for(test_case = 0; test_case < T; test_case++) { int N; cin>>N; int m[MAX_N]; int w[MAX_N]; for(int i=0; i<N; i++) cin>>m[i]; for(int i=0; i<N; i++) cin>>w[i]; // m을 정렬, w도 정렬 //bubbleSort(m, N); //bubbleSort(w, N); quickSort(m, 0, N-1); quickSort(w, 0, N-1); //각 해당 열의 차이값을 더함 long long sum=0; for(int i=0; i<N; i++){ sum += abs1(m[i] - w[i]); } cout<<sum<<endl; } return 0; }
8년 전 link
-
-
-
skylife927 -
통과했습니당~
8년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
skylife927
이번에는 어떤 곳에서 오류가 났는지..
어떤 경계값을 처리안해줬는지
8년 전