Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define ll long long
- long long int mysort(ll int num[],ll int temp[],ll int left,ll int right);
- long long int merge(ll int num[],ll int temp[],ll int left,ll int mid,ll int right);
- long long int rest(ll int num[],ll int n);
- long long int mysort(ll int num[],ll int temp[],ll int left,ll int right)
- {
- //int mid;
- long long int mid,hishab=0;
- if(right>left)
- {
- mid=(left+right)/2;
- hishab+= mysort(num,temp,left,mid);
- hishab+= mysort(num,temp,mid+1,right);
- hishab+= merge(num,temp,left,mid+1,right);
- }
- return hishab;
- }
- long long int merge(ll int num[],ll int temp[],ll int left,ll int mid,ll int right)
- {
- long long int i,j,k;
- long long int hishab1=0;
- i=left;
- j=mid;
- k=left;
- while((i<=mid-1)&&(j<=right))
- {
- if(num[i]<=num[j])
- {
- temp[k++]=num[i++];
- }
- else{
- temp[k++]=num[j++];
- hishab1+=(mid-i);
- // printf("%d\n",hishab1 );
- }
- }
- while(i<=mid-1)temp[k++]=num[i++];
- while(j<=right)temp[k++]=num[j++];
- for (i = left; i <= right; i++)
- num[i] = temp[i];
- return hishab1;
- }
- ll int rest(long long int num[],long long int n)
- {
- ll int temp[n];
- return mysort(num,temp,0,n-1);
- }
- int main(int argc, char const *argv[])
- {
- long long int i,j,k,l,num[500000],d,n,t;
- long long int myans;
- while(scanf("%lld",&n)!=EOF)
- {
- if(n==0)return 0;
- //scanf("%lld",&n);
- for(i=0;i<n;i++)
- {
- scanf("%lld",&num[i]);
- }
- myans=rest(num,n);
- if(myans%2==0)
- printf("Carlos\n");
- else printf("Marcelo\n");
- //myans=0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement