求助 T4
查看原帖
求助 T4
482610
Mortidesperatslav楼主2023/7/22 17:41
#include<bits/stdc++.h>
using namespace std;
struct node{
	long long mx,mn;
	node(){
		mx=-1,mn=-114514191;
	}
};
node f[1001][501][2];
long long a[100001];
int n,m;
node nmin(node a,node b){
	if((a.mx-a.mn)<(b.mx-b.mn))return a;
	else return b;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for(register int i=1;i<=n;i++)cin>>a[i];
	for(register int i=1;i<=n;i++)
		for(register int j=0;j<=m;j++){
			f[i][j][0]=nmin(f[i-1][j][0],f[i-1][j][1]);
			if(j==0||j*2-1>i)continue;
			f[i][j][1]=f[i-1][j-1][0];
			if(a[i]<f[i][j][1].mn||f[i][j][1].mn==-114514191)f[i][j][1].mn=a[i];
			if(a[i]>f[i][j][1].mx||f[i][j][1].mx==-1)f[i][j][1].mx=a[i];
		//	cout<<i<<" "<<j<<" "<<f[i][j][0].mx<<" "<<f[i][j][0].mn<<" "<<f[i][j][1].mx<<" "<<f[i][j][1].mn<<"\n";
		}
	cout<<min((f[n][m][1].mx-f[n][m][1].mn),(f[n][m][0].mx-f[n][m][0].mn));
}

想打 76 分,结果 12/kk

2023/7/22 17:41
加载中...