找出前n个中最大的,求其他的和,若和>最大值,则符合要求 #include<bits/stdc++.h> using namespace std; int main(){     int n;     while(cin>>n){         priority_queue<int> que;         vector<int> vec;         for(int i = 0;i<n;i++){             int x;             cin>>x;             vec.push_back(x);         }         bool flg = false;         que.push(vec[0]);         que.push(vec[1]);         int sum = vec[0]+vec[1];         int maxx = que.top();         for(int i = 2;i<vec.size();i++){             que.push(vec[i]);             sum+=vec[i];             maxx = que.top();             if(sum-maxx>maxx){                 cout<<i+1<<endl;                 flg = true;                 break;             }         }         if(!flg)             cout<<-1<<endl;     }     system("pause");     return 0; }
点赞 评论

相关推荐

在写周报的打工人很独...:这个笔试昨天晚上做了一下,真难啊,前后端,ai全有
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务