Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: kavin8888

Problemset: KhaPhisadan

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-23 11:44:58

#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 Msort(vector<int> &arr,int left,int right)
{
	if(left>=right)
	{
		return;
	}
	int mid=(left+right)/2;
	Msort(arr,left,mid);
	Msort(arr,mid+1,right);
	merge(arr,left,mid,right);
}
int main()
{
	spps1; spps2;
	int n; cin>>n;
	vector<int> arr(n);
	int ans=0;
	for(int i=0;i<n;i++)
	{
		cin>>arr[i];
		ans+=arr[i];
	}
	double RealAns=(double)ans/n;
	Msort(arr,0,arr.size()-1);
	double RealRealAns=arr[0]+arr[n-1]+RealAns;
	long long RealRealRealAns=ceil(RealRealAns);
	cout<<RealRealRealAns<<'\n';
	return 0;
}