蓝桥杯 超级胶水 答疑

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;
}
相关推荐
一只鲲19 分钟前
48 C++ STL模板库17-容器9-关联容器-映射(map)多重映射(multimap)
开发语言·c++
学行库小秘32 分钟前
基于门控循环单元的数据回归预测 GRU
人工智能·深度学习·神经网络·算法·回归·gru
_meow_1 小时前
数学建模 15 逻辑回归与随机森林
算法·数学建模·逻辑回归
1白天的黑夜11 小时前
链表-24.两两交换链表中的结点-力扣(LeetCode)
数据结构·leetcode·链表
智践行1 小时前
C++11 智能指针:`std::unique_ptr`、`std::shared_ptr`和`std::weak_ptr`
c++
智践行1 小时前
C++11之后的 Lambda 表达式 以及 `std::function`和`std::bind`
c++
智践行1 小时前
C++11移动语义‘偷梁换柱’实战
c++
二向箔reverse1 小时前
机器学习算法核心总结
人工智能·算法·机器学习
祁同伟.2 小时前
【C++】模版(初阶)
c++
猿究院--冯磊2 小时前
JVM垃圾收集器
java·jvm·算法