样例可过WA0

@2345安全卫士 那正解思路是什么?

我认为,由于 c_i 只有 100 种可能,那么就分别模拟一下存在的 c_i 就好

1 个赞

毕竟你的代码才 O(n)

1 个赞

o每个都是一下,取最小值是吧 @2345安全卫士

1 个赞

yes

1 个赞

o我知道了

1 个赞

能不能给解决方案

1 个赞

等一下现在还是RE:

#include<bits/stdc++.h>
#define I using
#define AK namespace
#define IOI std
#define i_ak return
#define ioi  0
I AK IOI;
int t,n,k;
int main(){
	//freopen("","r",stdin);
	//freopen("","w",stdout);
	cin>>t;
	while(t--){
		int a[10005],sum[10005],s=INT_MAX,id,l,r,ans,num;
		bool flag[105];
		memset(flag,0,sizeof flag);
		cin>>n>>k;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			if(!flag[a[i]])sum[++num]=a[i],flag[a[i]]=1;
		}
		for(int j=1;j<=num;j++){
			ans=0,l=0,r=0;
			for(int i=1;i<=n;i++){
				if(!l&&a[i]!=sum[j])l=i;
				if(l&&a[i]==sum[j])r=i;
				if(l&&r){
					int cnt=r-l;
					ans+=ceil(cnt*1.0/k);
					l=0,r=0;
				}
			}
			if(l&&!r)ans+=ceil((n-l+1)*1.0/k);
			s=min(s,ans);
		}
		cout<<s<<endl;
	}
	i_ak ioi;
}

ok【等一下我去【数据删除】一下】

? 你去干什么?

好了

为什么RE?

num没初始化

o谢谢

@2345安全卫士 现在hack对了样例也对了,但是还是WA0 qwq

1 个赞

我在帮助你时被这个【数据删除】@吴梓峤 扣了1分,气死【数据删除】了!!!!

@2345安全卫士 为什么帮别人调代码会扣分?

因为我在帮你的时候,发了一句
image

@2345安全卫士 谁叫你发的。。。(而且你发的不行要发Unknown_error 的原话!

所以我错在哪里了?

1 个赞

我看看