1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #include<iostream> using namespace std; int arr[200001], counter; void merge(int beg, int mid, int end) { int i, j, k, left_len, right_len, *merged, merged_len; right_len=(end-mid); left_len=(mid-beg+1); merged_len=end-beg+1; merged=new int[merged_len]; for(i=beg,j=mid+1,k=0;(i<left_len+beg)&&(j<right_len+mid+1);) { if(arr[i]<=arr[j]) merged[k++]=arr[i++]; else { counter+=(left_len-(i-beg)); merged[k++]=arr[j++]; } } if(i!=left_len+beg) while(i<left_len+beg) merged[k++]=arr[i++]; if(j!=right_len+mid+1) while(j<right_len+mid+1) merged[k++]=arr[j++]; for(i=0;i<merged_len;i++) arr[i+beg]=merged[i]; delete [] merged; } void sort(int beg,int end) { if(beg==end) return; int mid; mid=(beg+end)/2; sort(beg,mid); sort(mid+1,end); merge(beg,mid,end); } int main() { int t,n,i; cin>>t; while(t--) { counter=0; cin>>n; // arr = new int[n]; for(i=0;i<n;i++) cin>>arr[i]; sort(0,n-1); /* for(i=0;i<n;i++) cout<<arr[i];*/ cout<<counter<<"\n"; } //delete [] arr; return 1; } |
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBhcnJbMjAwMDAxXSwgY291bnRlcjsKCnZvaWQgbWVyZ2UoaW50IGJlZywgaW50IG1pZCwgaW50IGVuZCkKewogICAgIGludCBpLCBqLCBrLCBsZWZ0X2xlbiwgcmlnaHRfbGVuLCAqbWVyZ2VkLCBtZXJnZWRfbGVuOwogICAgIAogICAgIHJpZ2h0X2xlbj0oZW5kLW1pZCk7CiAgICAgbGVmdF9sZW49KG1pZC1iZWcrMSk7CiAgICAgbWVyZ2VkX2xlbj1lbmQtYmVnKzE7CiAgICAgCiAgICAKICAgICAKICAgICBtZXJnZWQ9bmV3IGludFttZXJnZWRfbGVuXTsKCiAgICAgZm9yKGk9YmVnLGo9bWlkKzEsaz0wOyhpPGxlZnRfbGVuK2JlZykmJihqPHJpZ2h0X2xlbittaWQrMSk7KQogICAgIHsKICAgICAgICAgCiAgICAgICAgIGlmKGFycltpXTw9YXJyW2pdKQogICAgICAgICBtZXJnZWRbaysrXT1hcnJbaSsrXTsKICAgICAgICAgCiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICBjb3VudGVyKz0obGVmdF9sZW4tKGktYmVnKSk7CiAgICAgICAgIG1lcmdlZFtrKytdPWFycltqKytdOwogICAgICAgICB9CiAgICAgfQogICAgIAogICAgIGlmKGkhPWxlZnRfbGVuK2JlZykKICAgICB3aGlsZShpPGxlZnRfbGVuK2JlZykKICAgICBtZXJnZWRbaysrXT1hcnJbaSsrXTsKICAgICAKICAgICBpZihqIT1yaWdodF9sZW4rbWlkKzEpCiAgICAgd2hpbGUoajxyaWdodF9sZW4rbWlkKzEpCiAgICAgbWVyZ2VkW2srK109YXJyW2orK107CiAgICAgCiAgICAgZm9yKGk9MDtpPG1lcmdlZF9sZW47aSsrKQogICAgIGFycltpK2JlZ109bWVyZ2VkW2ldOwogICAgIAogICAgIGRlbGV0ZSBbXSBtZXJnZWQ7Cn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgIAogICAgIAp2b2lkIHNvcnQoaW50IGJlZyxpbnQgZW5kKQp7CiAgICAgaWYoYmVnPT1lbmQpIHJldHVybjsKICAgICAKICAgICBpbnQgbWlkOwogICAgIG1pZD0oYmVnK2VuZCkvMjsKICAgIAogICAgIHNvcnQoYmVnLG1pZCk7CiAgICAgc29ydChtaWQrMSxlbmQpOwogICAgIG1lcmdlKGJlZyxtaWQsZW5kKTsKfQoKICAgICAKICAgICAKICAgICAKaW50IG1haW4oKQp7CiAgICBpbnQgdCxuLGk7CiAgICBjaW4+PnQ7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgICAgICAgY291bnRlcj0wOwogICAgICAgICAgICAgIGNpbj4+bjsKICAgICAgICAgICAgIC8vIGFyciA9IG5ldyBpbnRbbl07CiAgICAgICAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgICAgICAgIGNpbj4+YXJyW2ldOwogICAgICAgICAgICAgIHNvcnQoMCxuLTEpOwogICAgICAgICAgICAgLyogZm9yKGk9MDtpPG47aSsrKQogICAgICAgICAgICAgIGNvdXQ8PGFycltpXTsqLwogICAgICAgICAgICAgIGNvdXQ8PGNvdW50ZXI8PCJcbiI7CiAgICB9CiAgICAgIC8vZGVsZXRlIFtdIGFycjsKICAgICAgCiAgICAgIHJldHVybiAxOwp9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIAo=
-
upload with new input
-
result: Runtime error time: 0.02s memory: 3640 kB signal: -1
1 4 3 1 4 2
3
-
result: Runtime error time: 0.02s memory: 11568 kB signal: 11 (SIGSEGV)



