Advertisement
Farjana_akter

Untitled

Jun 15th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long int cnt=0;
  4. void merg(long long int a[],long long int l,long long int mid,long long int h)
  5. {
  6. long long int i,j,k,n1,n2,x;
  7. n1=mid-l+1;
  8. n2=h-mid;
  9.  
  10. long long int left[n1+5],right[n2+5];
  11.  
  12. memset(left,0,sizeof(left));
  13. memset(right,0,sizeof(right));
  14. for(x=0;x<n1;x++)
  15. {
  16. left[x]=a[l+x];
  17. }
  18.  
  19. for(x=0;x<n2;x++)
  20. {
  21. right[x]=a[mid+1+x];
  22. }
  23.  
  24. i=0;
  25. j=0;
  26. k=l;
  27.  
  28. while(i<n1 && j<n2)
  29. {
  30. if(left[i]<=right[j])
  31. {
  32. a[k++]=left[i];
  33. i++;
  34. }
  35. else
  36. {
  37. a[k++]=right[j];
  38. j++;
  39. cnt+=n1-i;
  40. }
  41. }
  42.  
  43. while(i<n1)
  44. {
  45. a[k++]=left[i];
  46. i++;
  47. }
  48.  
  49. while(j<n2)
  50. {
  51. a[k++]=right[j];
  52. j++;
  53. }
  54. }
  55.  
  56. void mergesort(long long int a[],long long int l,long long int h)
  57. {
  58. if(l<h)
  59. {
  60. long long int mid=l+((h-l)/2);
  61.  
  62.  
  63. mergesort(a,l,mid);
  64. mergesort(a,mid+1,h);
  65.  
  66.  
  67. merg(a,l,mid,h);
  68. }
  69. }
  70.  
  71. int main()
  72. {
  73. long long int n,i,j;
  74. while(cin>>n && n)
  75. {
  76. long long int a[n+5];
  77. cnt=0;
  78. for(i=0;i<n;i++)
  79. cin>>a[i];
  80. mergesort(a,0,n-1);
  81. if(cnt%2==0)
  82. cout<<"Carlos"<<endl;
  83. else
  84. cout<<"Marcelo"<<endl;
  85. }
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement