QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#553695#8940. Piggy Sortucup-team191#WA 0ms1680kbC++231.3kb2024-09-08 18:19:402024-09-08 18:19:40

Judging History

你现在查看的是最新测评结果

  • [2024-09-08 18:19:40]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:1680kb
  • [2024-09-08 18:19:40]
  • 提交

answer

#include <cstdio>
#include <algorithm>

using namespace std;

typedef long long ll;

const int N = 505;

int n, m;

int x[N][N], v[N], p[N], r[N], uzeo[N];
ll t[N];

bool cmp(int A, int B) {
	if(v[A] != v[B]) return v[A] < v[B];
	return A < B;
}

void solve() {
	scanf("%d%d", &n, &m);
	for(int i = 0;i < n;i++) p[i] = i, uzeo[i] = 0;
	for(int i = 0;i < m;i++) {
		t[i] = 0;
		for(int j = 0;j < n;j++) {
			scanf("%d", &x[i][j]);
			t[i] += x[i][j];
		}
		if(i) t[i] -= t[0];
	}
	t[0] = 0;
	for(int i = 0;i < n;i++) {
		for(int j = 0;j < n;j++) {
			if(x[1][j] < x[0][i] || uzeo[j]) continue;
			int pom = x[1][j] - x[0][i], dobar = 1;
			for(int k = 2;k < m;k++) {
				ll uk = (ll)pom * t[k];
				if(uk % t[1] != 0) { dobar = 0; break; }
				ll novi = uk / t[1] + x[0][i];
				if(novi < -10000000 || novi > 10000000) { dobar = 0; break; }
				int ind = lower_bound(x[k], x[k] + m, (int)novi) - x[k];
				if(ind < 0 || ind >= n || x[k][ind] != novi) { dobar = 0; break; }	
			}
			if(dobar) {
				uzeo[j] = 1;
				v[i] = pom; break;
			}
		}
	}
	sort(p, p + n, cmp);
	for(int i = 0;i < n;i++)
		r[p[i]] = i;
	for(int i = 0;i < n;i++)
		printf("%d ", r[i] + 1);
	printf("\n");
}

int main() {
	int T; scanf("%d", &T);
	for(;T--;) solve();
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 1612kb

input:

3
2 4
1 2
3 4
5 6
7 8
1 2
1
1
3 4
1 2 3
6 9 9
10 15 17
12 18 21

output:

1 2 
1 
3 1 2 

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 1680kb

input:

41
1 2
-19
9531
2 3
11 13
3175 4759
2211 3313
10 19
-54 -25 -19 -18 -1 3 61 63 85 88
-54 753 863 2397 3111 4649 4671 4756 5507 7762
-54 369 479 1245 1575 2345 2367 2452 2819 3922
-54 553 663 1797 2311 3449 3471 3556 4107 5762
-54 87 197 399 447 653 675 760 845 1102
-54 320 430 1098 1379 2051 2073 21...

output:

1 
1 2 
1 2 6 10 5 7 9 4 3 8 
8 7 5 9 2 1 6 3 4 
1 5 4 10 6 2 3 7 8 9 
4 6 1 7 8 5 10 9 3 2 
4 3 1 8 2 5 6 7 
3 1 5 2 6 9 8 7 4 10 
3 4 2 1 
8 9 7 1 3 6 5 4 2 
3 7 4 8 9 5 6 2 1 
5 9 6 8 2 3 4 7 1 
1 2 4 9 5 8 7 6 10 3 
7 1 3 2 9 8 10 4 5 6 
7 8 1 2 5 6 3 9 4 
7 8 1 2 5 6 3 9 4 
8 1 2 4 5 9 10 3 6 7...

result:

wrong answer 5th lines differ - expected: '1 6 5 9 8 2 3 10 4 7', found: '1 5 4 10 6 2 3 7 8 9 '