按位与【C语言】

解题思路如下

复制代码
#include<stdio.h>
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int n,k;
		scanf("%d %d",&n,&k);
		int a[10010];
		for(int i=0;i<n;i++){
			scanf("%d",&a[i]);
		}
		int maxlen=0;
		for(int bit=0;bit<=30;bit++){
			int left=0,zero=0,current=0,count=0;
			for(int right=0;right<n;right++){
				if(a[right]&(1<<bit)){
					count++;
				}else{
					zero++;
				}
				while(zero>k){
					if(a[left]&(1<<bit)){
						count--;
					}else{
						zero--;
					}
					left++;
				}
				if(count>0 && right-left+1>current){
					current=right-left+1;
				}
			}
			if(current>maxlen){
				maxlen=current;
			}
		}
		printf("%d\n",maxlen);
	}
}
相关推荐
代码雕刻家13 小时前
编程语法细节
java·c语言·开发语言
草莓熊Lotso14 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++
Discipline~Hai1 天前
ARM01-ARM体系架构
linux·c语言·arm开发·架构
cjr_xyi1 天前
AT1202Contest_c binarydigit 题解
c语言·c++·算法
Navigator_Z1 天前
LeetCode //C - 1156. Swap For Longest Repeated Character Substring
c语言·算法·leetcode
无相求码1 天前
const vs #define:C语言常量定义的差异
c语言·算法
Android洋芋1 天前
AI辅助C盘清理
c语言·开发语言·人工智能·ai辅助c盘清理
ScilogyHunter1 天前
GCC/Clang 原始字符串详解
c语言·原始字符串
麻瓜老宋1 天前
AI开发C语言应用按步走,表达式计算器calc的第四步,交互式 REPL 模式
c语言·开发语言·atomcode
十月的皮皮1 天前
stm20260719-STM32F103RCT6_HAL库_三人抢答器
c语言·stm32·单片机·嵌入式硬件·stm32cubemx·hal库