求助......
  • 板块P1564 膜拜
  • 楼主_JF_殉情
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/6/25 21:52
  • 上次更新2023/10/27 22:34:38
查看原帖
求助......
361141
_JF_殉情楼主2022/6/25 21:52
#include<bits/stdc++.h>
using namespace std;
const int N =1e6+10;
int dp[N],sum[N],a[N];
int main()
{
	memset(dp,1e6+10,sizeof(dp));
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]==1)
			sum[i]=sum[i-1]+1;
		else
			sum[i]=sum[i-1];
	}
	dp[1]=1;
	for(int i=2;i<=n;i++)
	{
		for(int j=1;j<i;j++)
		{
			if(abs(sum[i]-sum[j-1])<=m)
				dp[i]=min(dp[i],dp[j-1]+1);
		}
		dp[i]=min(dp[i],dp[i-1]+1);
	}
	cout<<dp[n]; 
 } 
2022/6/25 21:52
加载中...