解题思路:
注意事项:
参考代码:
#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语言代码)浏览:867 |
简单的a+b (C语言代码)浏览:643 |
【蟠桃记】 (C语言代码)浏览:647 |
【绝对值排序】 (C语言代码)浏览:819 |
1908题解浏览:633 |
1024题解浏览:803 |
剪刀石头布 (C++代码)浏览:1699 |
图形输出 (C语言代码)浏览:936 |
C二级辅导-等差数列 (C语言代码)浏览:808 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:523 |