回复 7楼 LeslieCh
你的可能是程序运行超时了吧, 不用排序的.
我的代码你提交的结果是什么?
程序代码:#include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned n;
unsigned *a; // 动态分配内存
unsigned s = 0; // 求和.过桥的时间.
int i, min;
scanf("%u", &n);
a = (unsigned *)malloc(n*sizeof(unsigned int));
if (a == NULL)
exit(1);
for (i = 0; i < n; i++)
scanf("%u", &a[i]);
for (min = a[0], i = 1; i < n; i++) {
if (a[i] >= min) // 大于min的值求和.
s += a[i];
else {
s += min; // 有新的最小值.先把现在的min求和.
min = a[i]; // 再将min赋最小值.
}
}
if (n == 1) // n == 1;
s = a[0];
printf("%u\n", s);
free(a); // 释放内存。
return 0;
}
