问题标题: 酷町堂1416摆方格怎么做?(0)

0
1
已解决
李牧之
李牧之
新手光能
新手光能
#include<iostream>
#include<algorithm>
using namespace std;
int a[10001];
int main(){
    int n,ans=0;
    cin>>n;
    for(int i=0;i<n*n;i++) cin>>a[i];
    sort(a,a+n);
    for(int i=n*n-1;i>n*n-n-1;i--) ans+=a[i];
    cout<<ans<<endl;
    return 0;
} 

请大佬教我!!!


0
已采纳
张裕博
张裕博
初级守护
初级守护

第九行改成:sort(a,a+n*n);

但是输入n后要判断一下n是否为0,因为如果为零按你这个代码是会输入a的

0
吴峻逸
吴峻逸
初级守护
初级守护

第二个for循环里不能是i>n*n-n-1啊,样例里n是2,但其他时候不是2,应该是i>n*n-2-1。

0
李牧之
李牧之
新手光能
新手光能
#include<iostream>
#include<algorithm>
using namespace std;
int a[10001];
int main(){
    int n,ans=0;
    cin>>n;
    if (n==0) {
        cout<<'0';
    }
    else{
        for(int i=0;i<n*n;i++) cin>>a[i];
        sort(a,a+n*n);
        for(int i=n*n-1;i>n*n-n-1;i--) ans+=a[i];
        cout<<ans<<endl;
    }
    return 0;
} 

怎么是87分,请大佬再教我一下!谢谢!

0
我要回答