题解 | 显生之宙

显生之宙

https://www.nowcoder.com/practice/c2335f2530974af3a4ec15db2851f532

#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
    ios::sync_with_stdio(0);
    int T;cin>>T;
    while(T--){
        int n;cin>>n;
        vector<int> a(n);
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        sort(a.begin(),a.end());
        int cnt=0;
        int pos=n-1;
        for(int i=0;i<n-1;i++){
            if(a[i]+cnt<0) cnt+=cnt+a[i];
            else {
                pos=i;
                break;
            }
            //cout<<"1:"<<cnt<<"\n";
        }
        int sum=0;
        for(int i=pos;i<n;i++){
            sum+=a[i]+cnt;
            //cout<<"2:"<<sum<<"\n";
        }
        cout<<sum<<"\n";
    }
}

全部评论

相关推荐

XingHaozhe:没啥大问题啊,Agent + 后端业务,勇敢投!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务