解题思路:
注意事项:
参考代码:
#include<iostream> using namespace std; const int M=50000+2; int a[M]={0}; int check(int i,int j) { int Max,Min; Max=Min=a[i]; for(int k=i;k<=j;k++) { if(a[k]>Max) Max=a[k]; if(a[k]<Min) Min=a[k]; if((Max-Min)>(j-i)) return 0; } if((Max-Min)==(j-i)) return 1; else return 0; } int main() { int n; while(cin>>n) { for(int i=0;i<n;i++) { cin>>a[i]; } int ans=0; for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(check(i,j)) ans++; } } cout<<ans+n<<endl; } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题11.11 (C语言代码)浏览:768 |
简单编码 (C++代码)浏览:675 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:608 |
简单的a+b (C语言代码)浏览:520 |
WU-蓝桥杯算法提高VIP-Quadratic Equation (C++代码)浏览:1742 |
本人酷爱递归实现很多问题,这里也是浏览:549 |
校门外的树 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:460 |