不是VIP会员,不能显示答案

题目解答

题目:
#include <cstdio>

int n,i,a[100010], pos;

long long ans;

int main() {

scanf("%d", &n);

for(i=1; i<=n; i++) scanf("%d",a+i) ;

pos=n;

ans=0;

for(i=n; i>=1; i--) {

if(a[i]>a[pos]) pos=i;

ans+=pos-i+1;

}

printf("%lld\n", ans);

return 0;

}






判断题

1) 如果输入的n是不超过100000的整数,输入的a[i]是不超过1000000000的整数(下同),那么输出的ans 一定不会小于n。()

2) 如果将第7行的“pos=n”改为“pos=1”,将第9行的“for(i=n;i>=1;i--)”改为“for(i=1;i<-n;i++)”,将第10行的“a[i]>a[pos]”改为“a[i]<a[pos]",将第11行的“pos-i+l”改为“i-pos+1",那么输出不会发生变化。( )

3) 如果输入的n为3,其他限制不变,那么输出的ans 可能且仅可能为3、4、5、6中的任意一个数。( )




选择题

4) 如果输入的n=6,输入的a[日]分别为3、6、2、5、4、1,那么输出的ans的值是( )。

5) 如果输入的n确定,那么输出的ans 可能的最大值是( )。
考点:
分析:
解答:
评论:
老师: