是我没理解题意?用一个deque不能解决问题? #include<iostream> #include<deque> using namespace std; int MaxValue(deque<int> queue) { int sum=0; int price=1; while(!queue.empty()) { int start=queue.front(); int end=queue.back(); if(start<end) { queue.pop_front(); sum+=price*start; } else { queue.pop_back(); sum+=price*end; } price++; } return sum; } int main() { int num; cin>>num; int i=0; int tmp; deque<int> queue; while(i<num) { cin>>tmp; queue.push_back(tmp); i++; } int ret=MaxValue(queue); cout<<ret<<endl; //system("pause"); return 0; }
点赞 3

相关推荐

01-15 13:52
已编辑
河南大学 Java
六年要多久:标准头像,不吃香菜😂
点赞 评论 收藏
分享
牛客网
牛客企业服务