你不看看你时间复杂度爆成什么样了,查找一个正无穷序列你告诉我直接遍历……
by liverxiwo @ 2023-11-18 12:44:06
很明显是让你优化成单调递增的序列,然后求通向啊……先优化再用sqrt函数求,时间复杂度o(1)……
by liverxiwo @ 2023-11-18 12:45:55
@[lizhuorong](/user/719843) 你把sort去掉试试
by gzqYES @ 2023-11-18 12:49:19
@[gzqgzq666](/user/1057445)
谢谢已关
by lizhuorong @ 2023-11-18 12:51:59
@[liverxiwo](/user/1162380)
thinks!!!!!
by lizhuorong @ 2023-11-18 13:02:53
@[gzqgzq666](/user/1057445) @[lizhuorong](/user/719843) 但是sort完你下面呢一行就得改一下,改到上面的for里取max
by gzqYES @ 2023-11-18 13:04:23
建议使用二分查找来做,不用担心时间复杂度,而且代码好写,这份代码如果样例刚好最后一个是 $10^9$ 肯定超时
by _d_h_f @ 2023-11-18 13:16:31
@[lizhuorong](/user/719843)
初一下学期实数那一课会讲到,这一个无限不循环小数的,现在初一,老师提前给我们将下学期的课了qwq
```cpp
#include <bits/stdc++.h>
using namespace std;
int x;
int n;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d",&x);
x--;
if(int(sqrt(x*2))*int(sqrt(x*2)+1)==x*2) printf("1\n");
else printf("0\n");
}
return 0;
}
```
by ltzx2022_kanxinyi_5 @ 2023-12-07 21:38:08