54分,求救

P1223 排队接水

@[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


|