全RE求助
查看原帖
全RE求助
482862
Eric_yuan楼主2021/10/17 16:31

代码如下,样例数据过了,但测试数据全紫了,希望大佬们帮我修修

介个是埃筛↓

变量我尽量起的简单qwq

#include<bits/stdc++.h>
const int N= 5e6 + 10;
using namespace std;
bool su[N];
void sushu()
{
	for(int i=0;i<=N;i++)
	{
		su[i]=1;
	}
	su[0]=0;
	su[1]=0;
	for(int i=2;i<=N;i++){
		if(su[i]){
			for(int j=i+i;j<=N;j+=i)
			su[j]=0;
		}
	}
}
int n,q;
int ans;
int a[10000010];
int b[10000010];
int main()
{
	sushu();
	scanf("%d%d",&n,&q);
	int k[q];
	for(int i=0;i<q;i++) 
	scanf("%d",&k[i]);
	for(int i=0;i<=n;i++)
	{
		if(su[i]){
			b[i]=i;
			ans++;
		}
	}
	int cha=n-ans-1;
	sort(b,b+n);
	for(int i=0;i<n;i++)
	{
		if(b[i]!='0') a[i]=b[i];
	}
	sort(a,a+n);
	for(int i=0;i<q;i++)
	printf("%d\n",a[cha+k[i]]);

	return 0;           
}

吐槽一句:这测试样例太坑了吧

2021/10/17 16:31
加载中...