是我没理解题意?用一个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

相关推荐

StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
09-28 09:18
吉首大学 Java
离上岸不远了的牛油很...:同27,你写的专业技能那些是真熟练了吗,我感觉稍微问深一点我都要🐔
你找实习最大的坎坷是什么
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务