线性筛为什么会TLE
查看原帖
线性筛为什么会TLE
669825
SpringFullGarden楼主2023/7/29 15:44

RT\text{RT}

#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define ui unsigned int
using namespace std;

map <int, int> ip;
int p[1114514], top;

int main() {
//  freopen(".in", "r", stdin);
//  freopen(".out", "w", stdout);
	int n, q; scanf("%d%d", &n, &q);
	for(int i = 2; i <= n; i++) {
		if(!ip[i]) p[++top] = i;
		for(int j = 1; j <= top && i * p[j] <= n; j++) {
			ip[i * p[j]] = 1;
			if(i % p[j] == 0) break;
		}
	}
	for(int i = 1; i <= q; i++) {
		int in; scanf("%d", &in);
		printf("%d\n", p[in]);
	}
	return 0;
}
2023/7/29 15:44
加载中...