求助:#2,3,4 WA,其他AC
查看原帖
求助:#2,3,4 WA,其他AC
1023793
yaodiguoan楼主2023/11/10 20:51
//#include<bits/stdc++.h>万能头文件

//STL

#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <deque> //STL 双端队列容器
#include <functional> //STL 定义运算函数(代替运算符)
#include <queue> //STL 队列容器
#include <set> //STL 集合容器
#include <utility> //STL 通用模板类
#include <vector> //STL 动态数组容器
#include <stack> //STL 堆栈容器
#include <list> //STL 线性列表容器
#include <map> //STL 映射容器

//其他

//#include <windows.h>
//#include <time.h>
//#include <cctype>
//#include <cerrno>
//#include <clocale>
//#include <cmath>//数学函数
//#include <complex> //复数类
//#include <cstdlib>
//#include <cstring>//字符串函数
//#include <ctime>
//#include <exception> //异常处理类
//#include <fstream>
//#include <limits>
//#include <iomanip>
//#include <ios> //基本输入/输出支持
//#include <iosfwd> //输入/输出系统使用的前置声明
//#include <istream> //基本输入流
//#include <ostream> //基本输出流
//#include <sstream> //基于字符串的流
//#include <stdexcept> //标准异常类
//#include <streambuf> //底层输入/输出支持
//#include <string> //字符串类
//#include <cwchar>
//#include <cwctype>
//#include <stdio.h>
//#include <cstdio>
#include <iostream>
#define fo(i,j,n,k) for(int (i)=(j);(i)<=(n);(i)+=(k))
using namespace std;
const int upint=1e6+10;
const double downdouble=1e-6;
priority_queue<int,vector<int>,greater<int> >q1;//升序
priority_queue<int,vector<int>,less<int> >q2;//降序
//priority_queue<int>::iterator it;
typedef long long ll;
typedef double dp;
int n,tmp,cnt=0;

int main(){
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>tmp;
		q1.push(tmp);
		q2.push(tmp);
	}
	while(q1.size()>=2){
		int a=q1.top();
		q1.pop();
		int b=q1.top();
		q1.pop();
		cnt+=a+b;
		q1.push(a+b);
	}
	cout<<cnt<<endl;
	cnt=0;
	while(q2.size()>=2){
		int a=q2.top();
		q2.pop();
		int b=q2.top();
		q2.pop();
		cnt+=a+b;
		q2.push(a+b);
	}
	cout<<cnt;
	return 0;
}


2023/11/10 20:51
加载中...