@[Ricken](/space/show?uid=192277) 在代码前加上
```cpp
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
```
by ⚡小林孑⚡ @ 2019-10-02 10:44:38
Orz
by bellmanford @ 2019-10-02 10:46:21
@[脱发自动机](/space/show?uid=119959) 好像还是TLE了
by Ricken @ 2019-10-02 10:48:07
[代码](https://www.luogu.org/record/24579145)
by Ricken @ 2019-10-02 10:48:37
在原来的基础上加快读
by Azazеl @ 2019-10-02 10:50:25
@[Ricken](/space/show?uid=192277)
by Azazеl @ 2019-10-02 10:50:31
scanf和printf不会用啊QAQ @[C20212104陈泺嘉](/space/show?uid=160701) 教教我吧,大佬
by Ricken @ 2019-10-02 10:52:09
@[Ricken](/space/show?uid=192277) 筛出范围内所有素数然后两个二分
by t162 @ 2019-10-02 10:52:25
@[Ricken](/space/show?uid=192277)
int->%d
double->%lf
long long->%lld
输入:
```cpp
int a;double b;long long c;
scanf("%d %lf %lld",&a,&b,&c);
```
输出:
```cpp
printf("%d %lf %lld",a,b,c);//没有&
```
话说scanf和print算不上快读吧,但还是比cin和cout快得多。
**真·快读**
```cpp
inline void read(int &x)
{
int f=1;x=0;
char c=getchar();
while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while('0'<=c&&c<='9'){x=x*10+c-48;c=getchar();}
x*=f;
}
int x;
read(x);
```
by Azazеl @ 2019-10-02 11:10:54
@[Ricken](/space/show?uid=192277) 这不是卡常的问题,您的做法复杂度不对。为什么不在初始化时筛出 $[1,m]$ 内所有质数,然后全都记下来呢?避免每次询问都去筛质数。
by GGAutomaton @ 2019-10-02 11:14:09