CF870B
传送门
题意
给出由
分析
我们分别考虑几种情况:
-
k=1
一个片段只能选取最小数,在输出时排序再输出
-
k>2
我们可以把最大的单独划分开,像上面一样在输出时排序输出
-
k=2
两个片段中,一个包含
代码
#include <bits/stdc++.h>
using namespace std;
long long n,k,a[100001];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
if(k==1)
{
sort(a+1,a+1+n);
cout<<a[1];
}
else if(k>=3)
{
sort(a+1,a+1+n);
cout<<a[n];
}
else
{
if(a[1]>=a[n])
{
cout<<a[1];
}
else
{
cout<<a[n];
}
}
return 0;
}