제출 #1367372

#제출 시각아이디문제언어결과실행 시간메모리
1367372kaiboyNaan (JOI19_naan)C++20
0 / 100
0 ms344 KiB
#include <algorithm>
#include <iostream>

using namespace std;

const int   N = 2000;
const int   M = 2000;
const int INF = 0x3f3f3f3f;

int aa[M], qq[N][N], ii[N];
long long pp[N][N];

int main() {
	ios_base::sync_with_stdio(false), cin.tie(NULL);
	int n, m; cin >> n >> m;
	for (int i = 0; i < n; i++) {
		int s_ = 0;
		for (int j = 0; j < m; j++)
			cin >> aa[j], s_ += aa[j];
		for (int s = s_, h = 0, j = 0; j < m; j++) {
			int a = aa[j] * n, q = aa[j] * n;
			for (long long p = (long long) j * q; s <= a; a -= s, s = s_)
				pp[i][h] = p += s, qq[i][h] = q, h++;
			s -= a;
		}
	}
	for (int z = 0; z < n; z++)
		ii[z] = z;
	for (int r = 0; r < n; r++)
		for (int z = 0; z + 1 < n; z++)
			if ((__int128) pp[ii[z]][z] * qq[ii[z + 1]][z] <= (__int128) pp[ii[z + 1]][z] * qq[ii[z]][z])
				swap(ii[z], ii[z + 1]);
	for (int z = 0; z + 1 < n; z++)
		cout << pp[ii[z]][z] << ' ' << qq[ii[z]][z] << '\n';
	for (int z = 0; z < n; z++)
		cout << ii[z] + 1 << ' ';
	cout << '\n';
	return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…