QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#239077#7688. Alea Iacta Estucup-team191#WA 138ms62196kbC++141.9kb2023-11-04 18:22:342023-11-04 18:22:35

Judging History

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

  • [2023-11-04 18:22:35]
  • 评测
  • 测评结果:WA
  • 用时:138ms
  • 内存:62196kb
  • [2023-11-04 18:22:34]
  • 提交

answer

#include <cstdio>
#include <algorithm>
#include <cmath>
#include <iostream>

#define int long long

using namespace std;

typedef long long ll;

const int N = 3e6 + 500;

int tmp[N], odg[N], cnt[N], svi[N], out = 0, in = 0;

void solve(){
	int n, m; cin >> n >> m;
	if(n < m) swap(n, m);
	ll fak = (ll)n * m;
	int f1 = -1, f2;
	for(int i = 2;i <= n + m;i++)
		cnt[i] = min(i - 1, n) - max(i - m, 1LL) + 1;
	ll poc = sqrt(fak) + 1;
	if(poc * poc > fak) poc--;
	for(ll i = poc;i >= 1;i--) {
		if(fak % i == 0 && i != m && i + fak / i < (ll)n + 2 * m) {
			int sm = 0;
			for(int j = 2;j <= n + m;j += i) {
				sm += cnt[j];
			}			
			if(sm == fak / i) {
				for(int j = 0;j < i;j++) svi[j] = 0;
				for(int j = 2;j <= n + m;j++)
					svi[j % i] += cnt[j];
				int dobar = 1;
				for(int j = 0;j < i;j++)
					dobar &= svi[j] == fak / i;
				if(dobar) {
					f1 = i;
					break;
				}
			}
		}
	}
	f2 = fak / f1;
	int pos = 0;
	if(f1 == -1 || f1 + f2 > n + 2 * m) {
		f1 = m, f2 = n, pos = 1;
	}
	//cout << n << " " << m << "\n";
	if(!pos) {
		cout << f1 << ' ';
		for(int i = 0;i < f1;i++) cout << i + 1 << ' ';
	} else {
		cout << 2 * f1 << ' ';
		for(int i = 0;i < f1;i++) cout << i + 1 << ' ' << i + 1 << ' ';
	}
	cout << '\n' << f2 << ' ';
	int cur = 0, sad = 1;
	for(int i = 0;i < f2;i++) {
		while(cur == cnt[sad]) {
			sad++; cur -= tmp[sad];
		}
		cout << sad - 1 << ' ';
		cur++; tmp[sad + f1]++;
	}
	cout << '\n';
	for(int i = 0;i <= n + m + 100;i++) tmp[i] = 0, odg[i] = 0, cnt[i] = 0;
	out += f1 + f2; in += n;
	//cout << n << " " << m << " 		" << f1 << " " << f2 << endl;
	//if(f1 + f2 >= n + m) cout << "kurcina\n";
}

signed main(){
	ios_base::sync_with_stdio(false); cin.tie(0);
	int T; cin >> T;
	//cout << T << endl;
	for(;T--;) {
		//printf("T = %d\n", T);
		solve();
	}
	//cout << in << endl;
	//cout << out << endl;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 7712kb

input:

3
2 8
1 9
2 9

output:

4 1 2 3 4 
4 1 2 5 6 
3 1 2 3 
3 1 4 7 
3 1 2 3 
6 1 2 4 5 7 8 

result:

ok Correct. (3 test cases)

Test #2:

score: 0
Accepted
time: 7ms
memory: 9804kb

input:

1
40013 40013

output:

80026 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 ...

result:

ok Correct. (1 test case)

Test #3:

score: 0
Accepted
time: 0ms
memory: 8056kb

input:

1
40013 1

output:

2 1 1 
40013 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99...

result:

ok Correct. (1 test case)

Test #4:

score: 0
Accepted
time: 0ms
memory: 7992kb

input:

1
2 40013

output:

4 1 1 2 2 
40013 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9...

result:

ok Correct. (1 test case)

Test #5:

score: 0
Accepted
time: 3ms
memory: 8060kb

input:

1
3 40013

output:

6 1 1 2 2 3 3 
40013 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ...

result:

ok Correct. (1 test case)

Test #6:

score: 0
Accepted
time: 0ms
memory: 12052kb

input:

1
4 40013

output:

8 1 1 2 2 3 3 4 4 
40013 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95...

result:

ok Correct. (1 test case)

Test #7:

score: 0
Accepted
time: 138ms
memory: 56284kb

input:

1
999983 999983

output:

1999966 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 5...

result:

ok Correct. (1 test case)

Test #8:

score: 0
Accepted
time: 52ms
memory: 32536kb

input:

1
1 999983

output:

2 1 1 
999983 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...

result:

ok Correct. (1 test case)

Test #9:

score: 0
Accepted
time: 48ms
memory: 32760kb

input:

1
2 999983

output:

4 1 1 2 2 
999983 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ...

result:

ok Correct. (1 test case)

Test #10:

score: 0
Accepted
time: 44ms
memory: 33688kb

input:

1
999983 3

output:

6 1 1 2 2 3 3 
999983 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96...

result:

ok Correct. (1 test case)

Test #11:

score: 0
Accepted
time: 40ms
memory: 32032kb

input:

1
999983 4

output:

8 1 1 2 2 3 3 4 4 
999983 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 9...

result:

ok Correct. (1 test case)

Test #12:

score: -100
Wrong Answer
time: 115ms
memory: 62196kb

input:

1
1000000 1000000

output:

500000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 1...

result:

wrong answer Jury has a better answer. (test case 1)