蓝桥杯 超级胶水 答疑

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;
}
相关推荐
fqq319 分钟前
力扣刷题前置Java语法
算法·leetcode·职场和发展
小小龙学IT1 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
知无不研2 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
2501_906565123 小时前
数学之美探究
算法
oier_Asad.Chen3 小时前
【洛谷题解/AcWing题解/OI学习笔记】洛谷P2868【USACO07DEC】Sightseeing Cows G(01分数规划求最大比率)
算法·图论·spfa·二分·负环
C++ 老炮儿的技术栈4 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
leisoo80975 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
qz_Serene6 小时前
C++:类和对象(上)
开发语言·c++
luj_17687 小时前
塔防牌:策略与卡牌的智慧碰撞
服务器·c语言·开发语言·经验分享·算法
wuyk5557 小时前
3.链表:用指针串联的动态数据结构
c语言·开发语言·数据结构·链表