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;
}