@[Eason_AC](/space/show?uid=112917)
```cpp
bool cmp(people a,people b) {
return a.time<b.time;
}
```
说明
n<=1000
ti<=1e6,不保证ti不重复
当ti重复时,**按照输入顺序即可**(sort是可以的)
所以应改为
```cpp
return a.time<b.time;
```
**且需要开long long**
by resftlmuttmotw @ 2018-11-18 23:17:40
```cpp
return a.time<=b.time;
```
by resftlmuttmotw @ 2018-11-18 23:17:59
```cpp
#include<cstdio>
#include<algorithm>
using namespace std;
double sum;
struct node{
int num;
int t;
};node T[1005];
bool cmp(node x,node y) {
return x.t<y.t;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) {
T[i].num=i;
scanf("%d",&T[i].t);
}
sort(T+1,T+1+n,cmp);
for(int i=1;i<=n;i++) {
sum+=(n-i)*T[i].t;
printf("%d ",T[i].num);
}
printf("\n%.2lf",sum/n);
return 0;
}
```
这是我的代码
感觉咱俩的蛮相似的,是不是你倒数第三行float的问题啊?
by Q1nghuan @ 2018-11-18 23:33:22