社区讨论

求助,20,其他全T

P9474 [yLOI2022] 长安幻世绘参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo24fh2g
此快照首次捕获于
2023/10/23 07:49
2 年前
此快照最后确认于
2023/11/03 08:08
2 年前
查看原帖
CPP
#include<iostream>
#include<algorithm>
#include<cstdio>
#define inf 0x7f7f7f7f
using namespace std;
int n,m,a[400010],f[400010];
int read() 
{
	int x=0;
	char c=getchar();
	while(c<'0'||c>'9')c=getchar();
	while(c>='0'&&c<='9') 
	{
		x*=10;
		x+=c-'0';
		c=getchar();
	}
	return x;
}
int maxx=-inf,minn=inf,vis[400010],ans=inf,tot;
void dfs(int x)
{
	if(tot==m)
	{
		ans=min(ans,maxx-minn);
		return;
	}
	for(int i=x;i<=n;i++)
	{
		if(!vis[i]&&!vis[i-1]&&!vis[i+1])
		{
			int xx=maxx,yy=minn;
			tot++;
			vis[i]=1;
			maxx=max(maxx,a[i]);
			minn=min(minn,a[i]);
			dfs(i);
			maxx=xx;
			minn=yy;
			tot--;
			vis[i]=0;
		}
	}
}
int main()
{
//	freopen("D3.in","r",stdin);
//	freopen("T4.out","w",stdout);
	n=read(),m=read();
	for(int i=1;i<=n;i++)
	{
		a[i]=read();
	}
	dfs(1);
	cout<<ans;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...