蓝桥杯 超级胶水 答疑

cpp 复制代码
#include<iostream>
using namespace std;
int n;
int const N = 1e5 + 10;
int arr[N];
int main()
{
	cin >> n;
	long long ans = 0;
	long long w = 0;
	for (int i = 1;i <= n;i++)
	{
		long long x;
		cin >> x;
		if (i > 1)
		{
			ans += w * x;
		}
		w += x;
	}
	cout << ans << endl;
	return 0;
}
cpp 复制代码
#include<iostream>
using namespace std;
#include<algorithm>
#include<cstring>
int n;
struct person
{
	int n1;
	int n2;
	int n3;
	int r;
	int a;
};
person arr[1010];

bool cmp(person p1, person p2)
{
	if (p1.r == p2.r)
	{
		return p1.a < p2.a;
	}
	return p1.r < p2.r;
}
int main()
{
	cin >> n;
	int maxx = 0;
	int pos;
	for (int i = 1;i <= n;i++)
	{
		cin >> arr[i].n1 >> arr[i].n2 >> arr[i].n3;
		arr[i].r = arr[i].n1 + arr[i].n2 + arr[i].n3;
		arr[i].a = arr[i].n1 + arr[i].n2;
		/*if (arr[i].n3 > maxx)
		{
			maxx = arr[i].n3;
			pos = i;
		}
		else if (arr[i].n3 == maxx)
		{
			if (arr[i].n1 + arr[i].n2 > arr[pos].n1 + arr[pos].n2)
			{
				pos = i;
			}
		}*/
	}
	/*maxx = arr[pos].n1 + arr[pos].n2;
	arr[pos].n1 = 0;
	arr[pos].n2 = 0;
	arr[pos].n3 = 0;
	arr[pos].r = 0;
	arr[pos].a = 0;*/
	sort(arr + 1, arr + 1 + n,cmp);

	long long ans = 0;
	long long cnt = 0;
	for (int i = 1;i <= n;i++)
	{
		ans += cnt + arr[i].n1 + arr[i].n2;
		cnt += arr[i].n1 + arr[i].n2 + arr[i].n3;
	}
	//ans += ( cnt + maxx );
	cout << ans << endl;
	return 0;
}
相关推荐
罗西的思考42 分钟前
【轻量化复刻大模型 / KIMI K3】AttnRes 模块交互式演示
人工智能·算法·机器学习
小七在进步1 小时前
string的使用(1)
c++·visual studio
白杨尚青2 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
好悬给我拽开线4 小时前
ZILOT 论文解析
算法
kloc4 小时前
聊天室项目入口网关子服务的实现
linux·c++
饮水桶_T5 小时前
JAVA IO流笔记
开发语言·数据结构·算法
星夜离尘566 小时前
MATLAB 离散数据分箱:半开区间、末端点与计数、加权和、平均
算法·matlab
Pniubi6 小时前
力扣76.最小覆盖子串
算法·leetcode·职场和发展
地平线开发者7 小时前
征程6|用 hrt\_model\_exec 看清 YOLOv5x 的输入、原始输出和后处理
人工智能·算法
csdn_aspnet8 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法