Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-阅读程序 第 23 题
#include <cstdio>
int n,i,j,flag=1,ans1, ans2, pos,a[1010], b[1010];
int main() {
    scanf("%d",&n);
    for(i=1; i<=n;i++) scanf("%d",&a[i]);
    for(i=1; i<=n;i++) scanf("%d",&b[i]);
    for(i=1; i<n; i++) if(a[i]>a[i+1]) flag=0;
    for(i=1; i<n; i++) if(b[i]>b[i+1]) flag=0;
    if(!flag) {
        puts("invalid data");
        return 0;
    }
    ans1=0;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            if(a[i]>b[j])ans1++;
    printf("%d\n", ans1);
    ans2=0;
    pos=0;
    for(int i=1; i<=n; i++) {
        while(pos<n&&b[pos+1]<a[i]) pos++;
        ans2+=pos;
    }
    printf("%d\n", ans2);
    return 0;
}
● 判断题
第 1 题 如果输入的n是不超过1000的正整数,输入的a[i]、b[i]是不超过1000000000的正整数(下同),那么输出的ans1与ans2一定相等。()
第 2 题 如果将第16行的“a[i]>b[j]”改为“a[i]
● 单选题
第 3 题 当输入的n是5,输入的a[i]分别为2、5、5、7、10,输入的b[i]分别为3、4、5、8、10时,输出的ans2为 ( )。
第 4 题 第20到第23行的时间复杂度为( )。
第 5 题 若输入的n确定,则输出的 ans2 可能的最大值为( )。

解答部分以后会开放。