社区讨论

问一下sub4里面t了一个点怎么弄?

P9345 夕阳西下几时回参与者 5已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@lo2l7xj8
此快照首次捕获于
2023/10/23 15:39
2 年前
此快照最后确认于
2023/10/23 15:39
2 年前
查看原帖
后面想了想,数据范围是不是不太合理。
如果t=100000,每一个都是n=300000,k=1
那么光是输出就必tle
但是大家能过肯定没有这么阴间的数据(大雾
所以请问大家怎么处理这种超时的问题的……
CPP
#include<bits/stdc++.h>
using namespace std;
int n,k;
int T;
const int N = 3e5 + 10;
int m[N];
int main(){
	scanf("%d",&T);
	for(int _ = 1;_ <= T;_++){
		memset(m,0,sizeof(m));
		scanf("%d%d",&n,&k);
		if(k * 2 > n){
			printf("NO\n");
			continue;
		}
		printf("YES\n");
		int l = k + 1,j = 0;
		int tas = 1,tag = 3;
		while(l != 0){
			if(tas > n){
				l += 1;
				tas = tag,tag += 2;
			}
			printf("%d ",tas);
			l--;
			m[tas] = 1;
			tas *= 2;
		}
		for(int i = 1;i <= n;i++){
			if(m[i] == 0)
				printf("%d ",i);
		}
		printf("\n");
	}
	
}

回复

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

正在加载回复...