Maximum of Maximums of Minimums CodeForces - 872B

Maximum of Maximums of Minimums

题目链接:CodeForces - 872B
题意, 给出一个长度为n的数组, 将其分为连续的k个子集, 为k个子集中最大的最小值是多少?(求出每个子集的最小值, 再求出k个最小值中的最大值);
当k==1时, 只有原序列, 输出最小值;
当k==2时, 输出a[0], a[n-1]中最大值;
当k>2时, 输出最大值;
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
#include <vector>
using namespace std;
const int maxn = 1e5+10;
const int inf=0x3f3f3f3f;
int a[maxn];
int main(){
	int n, k, maxn=-inf, minn=inf;
	scanf("%d%d", &n, &k);
	for(int i=0; i<n; i++){
		scanf("%d", &a[i]);
		maxn=max(maxn, a[i]);
		minn=min(minn, a[i]);
	}
	if(k==1) printf("%d\n", minn);
	else if(k==2) printf("%d\n", max(a[0], a[n-1]));
	else printf("%d\n", maxn);
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值