蓝桥杯 超级胶水 答疑

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;
}
相关推荐
叩码以求索22 分钟前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
一拳一个呆瓜2 小时前
【STL】iostream 编程:检测提取操作产生的错误
c++·stl
稚南城才子,乌衣巷风流2 小时前
判断素数与拓展应用
c++
众少成多积小致巨2 小时前
C++ 规范参考(下)
c++
c238562 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa3 小时前
指针之总结
c语言·笔记·算法
宵时待雨3 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz3 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf2163 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
noipp4 小时前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu