60分求助,点12WA了

回复帖子

@kikokira 2020-10-26 13:54 回复

代码如下,样例过了,不知道错哪儿orz

#include <bits/stdc++.h>
using namespace std;

int n, m;
double average[20];
double a[100];

int main() {
    cin >> n >> m;
    for (int i = 0; i <= n-1; i++) {
        double s = 0;
        for (int x = 0; x <= m-1; x++) {
            cin >> a[x];
        }
        sort(a, a + m);
        for (int k = 1; k <= m-2; k++) {
            s = s + a[k];
        }
        average[i] = s / (m-2);
    }
    sort(average, average+n);
    printf("%.2lf", average[n-1]);
    return 0;
}
@天南星魔芋 2020-10-26 14:52 回复 举报

@kikokira

#include<bits/stdc++.h>
using namespace std;
double maxn,minn;
double sum;
double a;
double ans=0;
int n,m;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        maxn=0;minn=20;
        sum=0;
        for(int j=1;j<=m;j++){
            cin>>a;
            if(maxn<a)maxn=a;
            if(minn>a)minn=a;
            sum+=a;
        }
        sum=sum-maxn-minn;
        sum/=(m-2);
        if(sum>ans)ans=sum;
    }
    printf("%.2tf",ans);
}
@天南星魔芋 2020-10-26 14:55 回复 举报

78 15

8 10 8 7 4 9 1 9 2 10 1 6 4 4 1

8 5 5 3 7 4 3 1 4 7 3 10 2 4 0

0 3 10 10 2 10 9 9 6 0 8 9 1 0 10

10 5 10 10 4 1 9 6 2 2 2 3 6 5 2

3 9 5 10 5 9 8 1 7 2 2 6 6 6 10

1 1 2 7 5 5 9 3 6 6 8 8 0 9 10

9 9 0 0 1 10 9 8 5 0 8 7 3 5 0

6 2 1 9 4 6 1 1 0 6 5 9 5 1 4

9 6 1 4 3 1 1 9 9 10 4 4 0 4 2

3 10 0 5 6 8 2 9 5 6 3 3 1 7 2

4 2 6 1 8 9 6 0 4 8 8 6 5 6 2

0 7 4 3 4 8 9 4 9 9 5 6 9 6 9

1 5 10 8 1 4 10 0 5 1 7 3 0 0 1

5 8 9 10 6 7 9 8 1 2 8 4 5 3 7

5 3 1 0 10 4 2 2 0 5 2 2 10 2 5

2 6 1 0 4 0 8 10 8 5 3 2 4 0 7

4 1 7 3 6 3 1 5 8 3 8 2 10 7 0

8 5 4 3 8 4 8 3 2 3 3 0 9 7 0

6 8 8 0 4 3 1 1 10 2 2 4 5 5 7

3 3 7 4 5 8 10 8 3 0 2 1 8 6 1

4 9 9 7 4 7 3 4 1 7 1 2 3 2 1

5 1 4 7 1 3 8 6 3 1 3 9 6 5 1

3 10 2 2 0 4 1 0 0 1 1 8 2 10 10

4 4 0 1 8 6 0 4 0 5 7 3 0 1 1

4 7 5 3 6 3 9 2 8 1 3 2 0 5 4

7 6 4 0 9 0 4 3 10 2 4 2 3 7 7

7 8 5 5 8 5 10 4 10 5 6 9 10 9 1

8 2 4 10 0 2 10 3 3 5 3 8 8 6 5

10 4 10 10 6 6 5 6 8 5 1 2 1 3 10

0 1 6 0 8 0 8 0 8 1 3 4 0 1 1

8 10 2 3 0 1 0 1 4 7 10 10 0 1 4

1 3 5 9 7 8 10 2 0 5 5 5 2 0 2

2 3 7 2 7 7 9 10 3 10 2 2 6 5 10

5 8 4 1 5 7 1 9 3 4 5 1 2 5 10

8 0 8 3 5 6 3 2 3 4 5 1 7 5 4

8 7 6 7 10 6 3 1 3 3 3 6 6 10 5

6 2 8 0 1 7 5 10 0 5 6 9 7 7 6

7 2 1 4 0 3 5 0 6 4 4 9 8 2 5

7 7 4 0 7 10 0 4 10 2 3 10 9 3 5

4 2 4 3 3 4 6 9 10 9 10 6 10 9 8

1 0 8 0 5 9 8 6 4 3 6 5 8 10 4

6 10 2 5 1 2 6 10 4 10 0 5 9 8 9

10 4 3 2 8 2 0 7 0 1 7 0 6 1 7

3 7 5 4 0 7 0 0 5 5 6 8 4 6 0

5 4 7 1 5 6 6 10 1 7 8 10 4 2 8

9 3 2 1 0 4 6 9 1 8 4 6 7 4 8

10 3 3 9 0 6 1 4 10 4 8 1 1 6 7

8 9 4 8 0 4 5 10 8 7 10 3 7 6 4

9 8 1 1 10 3 7 7 8 10 8 6 7 2 8

9 8 1 7 9 7 0 0 3 4 2 4 10 3 8

7 6 0 1 0 7 6 7 8 4 6 4 1 2 6

8 9 9 5 10 0 4 0 9 0 1 4 8 8 1

5 9 1 4 2 4 7 8 4 3 3 2 6 10 1

6 9 1 3 7 10 8 0 8 3 6 10 10 1 0

2 1 1 5 1 1 3 1 2 9 3 10 5 5 10

10 9 0 10 0 5 8 5 2 9 2 9 5 0 9

6 9 6 7 5 6 6 4 3 8 6 5 1 8 5

10 2 4 9 2 0 7 6 10 9 9 5 0 0 8

0 2 8 6 10 9 7 7 7 0 6 0 1 6 7

6 7 7 1 5 2 10 0 10 10 0 0 1 4 1

9 8 4 7 8 0 9 7 8 6 4 9 10 1 1

9 3 6 6 8 0 3 6 3 8 9 10 10 6 4

8 0 2 5 2 9 7 7 6 7 3 10 0 2 5

8 1 9 5 4 7 6 6 9 6 5 0 0 5 3

2 1 3 1 1 3 9 9 5 2 2 4 0 4 0

5 6 1 7 7 5 2 5 10 6 1 7 1 3 8

9 6 1 9 5 4 0 10 6 10 1 0 10 9 3

5 9 4 1 7 2 2 2 6 10 4 2 3 10 6

1 5 0 4 8 8 10 7 4 10 2 5 2 5 1

9 7 10 9 7 2 9 7 0 7 4 7 2 1 1

9 2 6 3 7 9 8 3 4 4 7 10 0 1 4

3 1 10 1 0 0 6 4 9 6 7 6 4 8 5

3 8 8 9 8 8 10 1 6 7 9 8 9 3 1

8 8 8 4 3 6 7 6 4 4 0 0 0 4 6

0 9 10 10 5 1 6 8 6 6 4 2 1 6 0

7 10 6 8 1 6 0 0 9 10 6 4 6 10 10

8 3 7 10 8 5 1 3 10 9 10 9 3 1 3

7 0 4 7 8 1 9 4 8 1 3 4 9 10 7

@Elle 2020-10-26 15:09 回复 举报

sort排序出错了,拿个max记录最大值是可以ac的,具体什么原因我也不知道

#include <bits/stdc++.h>
using namespace std;

int n, m;
double average[25];
double a[105];

int main() {
    cin >> n >> m;
    double max = 0;
    for (int i = 0; i <= n-1; i++) {
        double s = 0;
        for (int x = 0; x <= m-1; x++) {
            cin >> a[x];
        }
        sort(a, a + m);
        for (int k = 1; k <= m-2; k++) {
            s = s + a[k];
        }
        average[i] = s / (m-2);//cout << average[i] << endl;
        if(average[i] > max) max = average[i];
    }
    sort(average, average+n);
    printf("%.2lf", max);
    return 0;
}
反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。