比赛 EYOI与SBOI开学欢乐赛1st 评测结果 AAWWWAWWEA
题目名称 设备分解炉 最终得分 40
用户昵称 Lesater 运行时间 0.223 s
代码语言 C++ 内存使用 0.58 MiB
提交时间 2022-08-29 20:08:14
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define P pair<int,int>
  4. int L,n,a[101],cnt;
  5. P s[10001];
  6. int main()
  7. {
  8. freopen("device.in","r",stdin);
  9. freopen("device.out","w",stdout);
  10. cin>>n>>L;
  11. for(int i=1;i<=n;++i)
  12. cin>>a[i];
  13. sort(a+1,a+1+n);
  14. for(int i=1;i<=n;++i)
  15. {
  16. s[a[i]].first=i;
  17. s[a[i]].second=1;
  18. }
  19. int k=0;
  20. for(int i=0;i<=L;++i)
  21. {
  22. if(s[i].first==0) s[i].first=k;
  23. else k=s[i].first;
  24. }
  25. for(int i=1;i<L;++i)
  26. {
  27. if(s[i-1].first<= n/2)
  28. {
  29. for(int j=0;j<i;++j)
  30. {
  31. if(s[j].second!=s[2*i-j].second)
  32. break;
  33. if(j==i-1)
  34. cnt++;
  35. }
  36. }
  37. if(s[i].first> n>>1)
  38. {
  39. for(int j=L;j>i;--j)
  40. {
  41. if(s[j].second!=s[2*i-j].second)
  42. break;
  43. if(j==i+1)
  44. cnt++;
  45. }
  46. }
  47. }
  48. cout<<cnt;
  49. return 0;
  50. }