记录编号 434545 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [国家集训队2011]等差子序列 最终得分 100
用户昵称 Gravatarattack 是否通过 通过
代码语言 C++ 运行时间 3.172 s
提交时间 2017-08-08 08:21:34 内存使用 0.33 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cmath>
  5. #include<bitset>
  6. using namespace std;
  7. using std::bitset;
  8. const int MAXN=10001;
  9. bool bit[MAXN];
  10. int a;
  11. inline void read(int &n)
  12. {
  13. char c='+';int x=0;bool flag=0;
  14. while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
  15. while(c>='0'&&c<='9'){x=x*10+(c-48);c=getchar();}
  16. n=flag==1?-x:x;
  17. }
  18. int main()
  19. {
  20. freopen("nt2011_sequence.in","r",stdin);
  21. freopen("nt2011_sequence.out","w",stdout);
  22. int T;
  23. read(T);
  24. while(T--)
  25. {
  26. memset(bit,0,sizeof(bit));
  27. //bit.reset();
  28. int n;
  29. read(n);
  30. bool flag=0;
  31. for(int i=1;i<=n;i++)
  32. {
  33. read(a);
  34. if(flag)continue;
  35. bit[a]=1;
  36. for(int j=a-1;j!=0;j--)
  37. {
  38. int k=a*2-j;
  39. if(k>n)continue;
  40. if(bit[j]^bit[k])
  41. {
  42. flag=1;
  43. break;
  44. }
  45. }
  46. }
  47. flag==1?printf("Y\n"):printf("N\n");
  48. }
  49. return 0;
  50. }