比赛 csp2025模拟练习3 评测结果 AAAAAAWWWWAWWWEEEEEEEEEEE
题目名称 Binaria 最终得分 28
用户昵称 梦那边的美好TE 运行时间 1.624 s
代码语言 C++ 内存使用 3.64 MiB
提交时间 2025-10-30 11:42:53
显示代码纯文本
#include <iostream>
#include <cstdio>
using namespace std;
int n,k,s[20],v[20],ans;
int main(){
	freopen("Binaria.in","r",stdin);
	freopen("Binaria.out","w",stdout);
	scanf("%d %d",&n,&k);
	for(int i=k-1;i<n;i++)scanf("%d",v+i);
	for(int i=0;i<(1<<n);i++){
		for(int j=0;j<n;j++)s[j]=0;
		for(int j=n-1;j>=0;j--)if((i>>j)&1)s[n-1-j]++;
		for(int j=0;j<n;j++)if(j)s[j]+=s[j-1];
		int flag=1;
		for(int j=k-1,sum;j<n;j++){
			if(j!=k-1)sum=s[j]-s[j-k];
			else sum=s[j];
			if(sum!=v[j]){
				flag=0;break;
			}
		}
		ans+=flag;
	}
	printf("%d\n",ans);
	return 0;
}