Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-阅读程序 第 17 题
# include <iostream>
using namespace std;
const int maxn=100005;
int n;
int a[maxn];
int b[maxn];
void solve(int l, int r)
{
	if (l==r) return ;
	int mid=(l+r)/2;
	solve(l, mid); solve(mid+1,r);
	int i=1,j=mid+1,k=1;
	while(i<=mid &&j<=r)
	{
		if (a[i]<=a[j]) b[k++]=a[i++];
		else b[k++]=a[j++]; 
	}
	while(i<=mid) b[k++]=a[i++];
	while(j<=r) b[k++]=a[j++];
	for (int i=l; i<=r; i++) a[i]=b[i]; 
}
int main(){
	cin>>n;
	for (int i=1; i<=n; i++) cin>>a[i];
	solve(1,n);
	int ans=0;
	for (int i=1; i<=n; i++) ans=ans+a[i]*i;
	cout<<ans<<endl;
	return 0;
}
● 判断题
第 1 题 即使a中有重复的数字,该程序仍能正常运行并输出正确答案。( )
第 2 题 当运行完25行后,a数组单调不增。( )
● 单选题
第 3 题 当输入如下时,n 1 2 3.....n 输出答案为( )。
第 4 题 该程序最坏情况下的时间复杂度为( )。
第 5 题 当输入如下时,5 50 60 30 40 50,输出为( )。
第 6 题 列各组输入获得的答案最大的是( )。

解答部分以后会开放。