加输出就TLE????
查看原帖
加输出就TLE????
259253
王江睿楼主2021/12/8 23:13

实测; 注释输出行600ms,不注释无论用哪种输出方式全部TLE(本地RE),单独输出却可以过????

#include<iostream>
using namespace std;
inline int cinn() {
	register unsigned int x = 0;
	register unsigned char y;
	do y = getchar(); while (y < '0' || y>'9');
	while (y <= '9' && y >= '0') {
		x = x * 10 + y - '0';
		y = getchar();
	}return x;
}inline void coutt(register int x) {
	register unsigned char z[100];
	register unsigned int p = 1, q;
	do {
		q = x / 10;
		z[100 - p] = x - 10 * q + '0';
		x = q;
	} while (x && ++p);
	do
		putchar(z[100 - p]);
	while (--p);
	return;
}signed main() {
	std::ios::sync_with_stdio(0);
	register int prime[5800000] = { 0 }, y = 0, p = -1, i = 1, j, q;
	cin >> q >> q;
	register bool x[100000000] = { 0 };
	while (++i && i < 100000001) {
		if (!x[i])
			prime[++p] = i;
		for (j = 0; j <= p && i * prime[j] < 100000001; j++) {
			x[prime[j] * i] = 1;
			if (i % prime[j] == 0) break;
		}
	}//for (i = 0; i < q; i++) coutt(prime[cinn() - 1]);
	return 0;
}

请教大家这是因为什么原因?晚上弄好久了......

2021/12/8 23:13
加载中...