[关闭]
@feiyangyang 2022-06-06T07:47:17.000000Z 字数 686 阅读 341

1125.修建高楼 代码

代码


  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. using namespace std;
  5. int n,a[2003],b[2003],ans=-99999,m,t,c;
  6. int max(int a,int b)
  7. {
  8. if(a>b) return a;
  9. else return b;
  10. }
  11. int main()
  12. {
  13. // #################注意#########注意################
  14. freopen("build.in","r",stdin);
  15. // #################注意#########注意################
  16. freopen("build.out","w",stdout);
  17. // #################注意#########注意################
  18. cin>>m>>n;
  19. for(int i=1;i<=m;i++)
  20. {
  21. t=0;
  22. for(int j=1;j<=n;j++)
  23. {
  24. scanf("%d",&a[j]);
  25. b[a[j]]=j;
  26. }
  27. for(int j=1;j<=n-2;j++)
  28. {
  29. for(int k=1;k<=(n-1)/2;k++)
  30. {
  31. if(j+k+k<=n)
  32. {
  33. if(b[j]<b[j+k]&&b[j+k]<b[j+k+k])
  34. {
  35. t++;
  36. }
  37. else
  38. {
  39. if(b[j]>b[j+k]&&b[j+k]>b[j+k+k])
  40. {
  41. t++;
  42. }
  43. }
  44. }
  45. }
  46. }
  47. if(ans==t)
  48. continue;
  49. ans=max(ans,t);
  50. if(ans==t)
  51. {
  52. c=i;
  53. }
  54. }
  55. cout<<c<<" "<<ans;
  56. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注