作业介绍

#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
struct node1 {
	string  name;
	int c, m, e, sum;
};
node1 a[N];
int n;

int main() {
	cin >> n;
	for (int i = 1; i <= n; i++){
		cin >> a[i].name >> a[i].c >> a[i].m >> a[i].e;
		a[i].sum = a[i].c + a[i].m + a[i].e;
	}
		
	// 两两比较
	for (int i = 1; i < n; i++)
		for (int j = i + 1; j <= n; j++) {
			if (abs(a[i].c - a[j].c) <= 5 && abs(a[i].m - a[j].m) <= 5 && abs(a[i].e - a[j].e) <= 5 && abs(a[i].sum - a[j].sum) <= 10) {
				cout << a[i].name << " " << a[j].name << endl;
			}
		}
	return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
struct node {
	string name;
	int chinese, english, math, sum;
	int id;
	// 自定义排队规则
	bool operator<(const node a) const {
		if (sum != a.sum)
			return sum > a.sum;
		return id < a.id;
	}
};

int n;
node a[N];
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].name >> a[i].chinese >> a[i].math >> a[i].english;
		a[i].sum = a[i].chinese + a[i].math + a[i].english;
		a[i].id = i;
	}
	// sort(排序的起始位置 ,排序的结束位置)
	sort(a + 1, a + 1 + n );
	cout << a[1].name << " " << a[1].chinese << " " << a[1].math << " " << a[1].english;
	return 0;
}

状态
已结束
题目
18
开始时间
2026-8-13 0:00
截止时间
2026-8-15 23:59
可延期
24 小时