B3784求调,悬关
  • 板块学术版
  • 楼主yzx_yzx
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/17 21:52
  • 上次更新2024/1/18 10:27:54
查看原帖
B3784求调,悬关
766148
yzx_yzx楼主2024/1/17 21:52

1,2点AC; 3-9点WA; 10点TLE

#include <bits/stdc++.h>
using namespace std;
int n, m, a, b, xs, maxx = -1, la[666666], ii;

struct ss {
	int id, hlz;
} aa[123445];
bool flag, flag1;

bool cmp(ss x, ss y) {
	return x.hlz > y.hlz;
}

int main() {
	scanf("%d %d %d %d", &n, &m, &a, &b);
	for (int i = 1; i <= a; i++) {
		aa[i].id = i;
		if (i == b) {
			flag = 1;
		}
		for (int j = 1; j <= n; j++) {
			cin >> xs;
			if (flag == 1) {
				if (maxx < xs) {
					maxx = xs;
					ii = j;

				}
			}

			aa[j].hlz += xs;
		}
		flag = 0;
	}
	sort(aa + 1, aa + n + 1, cmp);
	for (int i = 1; i <= m; i++) {
		la[i] = aa[i].id;
	}
	for (int i = 1; i <= m; i++) {
		if (la[i] == ii) {
			swap(la[i], la[1]);
			flag1 = 1;
			break;
		}
	}

	if (flag1 == 0) {
		la[m] = ii;
	}

	for (int i = 1; i <= m; i++) {
		printf("%lld", la[i]);
	}
	return 0;
}
/*
自造样例
4 2 3 1
1 1 4 1
1 1 1 4
1 1 1 3
*/
2024/1/17 21:52
加载中...