蓝桥杯 超级胶水 答疑

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;
}
相关推荐
苏宸啊3 分钟前
链式二叉树基操代码实现&OJ题目
数据结构
风筝在晴天搁浅8 分钟前
hot100 25.K个一组翻转链表
数据结构·链表
CoderCodingNo14 分钟前
【GESP】C++五级真题(贪心和剪枝思想) luogu-B3930 [GESP202312 五级] 烹饪问题
开发语言·c++·剪枝
柯慕灵19 分钟前
7大推荐系统/算法框架对比
算法·推荐算法
adam-liu21 分钟前
Fun Audio Chat 论文+项目调研
算法·语音端到端·fun-audio-chat
小十一再加一29 分钟前
【初阶数据结构】栈和队列
数据结构
栀秋66640 分钟前
你会先找行还是直接拍平?两种二分策略你Pick哪个?
前端·javascript·算法
如果你想拥有什么先让自己配得上拥有1 小时前
数学思想和数学思维分别都有什么?
线性代数·算法·机器学习
阿闽ooo1 小时前
深入浅出适配器模式:从跨国插头适配看接口兼容的艺术
c++·设计模式·适配器模式
长安er1 小时前
LeetCode136/169/75/31/287 算法技巧题核心笔记
数据结构·算法·leetcode·链表·双指针