Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: kavin8888

Problemset: เธอ ๆ มันเรียงกันยังไงอะ

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-22 12:25:04

#include<bits/stdc++.h>
using namespace std;
#define spps1 ios::sync_with_stdio(false)
#define spps2 cin.tie(nullptr)
void merge(vector<int> &arr,int left,int mid,int right)
{
	int n_left=mid-left+1;
	int n_right=right-mid;
	vector<int> arr_left(n_left),arr_right(n_right);
	for(int i=0;i<n_left;i++)
	{
		arr_left[i]=arr[left+i];
	}
	for(int j=0;j<n_right;j++)
	{
		arr_right[j]=arr[mid+j+1];
	}
	int i=0,j=0,k=left;
	while(i<n_left && j<n_right)
	{
		if(arr_left[i]<=arr_right[j])
		{
			arr[k]=arr_left[i];
			i++;
		}
		else
		{
			arr[k]=arr_right[j];
			j++;
		}
		k++;
	}
	while(i<n_left)
	{
		arr[k]=arr_left[i];
		i++;
		k++;
	}
	while(j<n_right)
	{
		arr[k]=arr_right[j];
		j++;
		k++;
	}
}
void mergesort(vector<int> &arr,int left,int right)
{
	if(left>=right)
	{
		return;
	}
	int mid=(left+right)/2;
	mergesort(arr,left,mid);
	mergesort(arr,mid+1,right);
	merge(arr,left,mid,right);
}
int main()
{
	spps1; spps2;
	int n; cin>>n;
	vector<int> arr(n);
	string tmp1="";
	string tmp2="";
	for(int i=0;i<n;i++)
	{
		cin>>arr[i];
		tmp1+=to_string(arr[i]);
	}
	mergesort(arr,0,arr.size()-1);
	for(int i=0;i<n;i++)
	{
		tmp2+=to_string(arr[i]);
	}
	if(tmp1==tmp2)
	{
		cout<<"sorted!";
	}
	else
	{
		cout<<"un-sorted!";
	}
}