QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#355219 | #5103. Fair Division | ucup-team052# | WA | 84ms | 4124kb | C++23 | 820b | 2024-03-16 14:36:48 | 2024-03-16 14:36:49 |
Judging History
answer
#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
using namespace std;
using LL=__int128;
const LL INFLL=LL(1e36);
int n;
LL pwn[2005];
LL ad(LL x,LL y){
return x+y<INFLL?x+y:INFLL;
}
LL mu(LL x,LL y){
return x<=INFLL/y?x*y:INFLL;
}
LL po(LL x,LL y){
LL z=1;
while(y){
if(y&1)z=mu(z,x);
if((y>>=1))x=mu(x,x);
}
return z;
}
int main(){
long long m;
cin>>n>>m;
rep(i,1,2000){
pwn[i]=po(i,n);
assert(pwn[i]>=0);
assert(pwn[i]>=pwn[i-1]);
}
rep(q,2,2000)if(pwn[q]<INFLL){
rep(p,1,q-1)if(__gcd(p,q)==1){
LL fm=pwn[q]-pwn[q-p];
if(fm%p==0)fm/=p;
if(fm<2e18){
if(m%fm==0){
printf("%d %d\n",p,q);
exit(0);
}
}
}
}
puts("impossible");
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3824kb
input:
13 382475111752106101
output:
17 28
result:
ok single line: '17 28'
Test #2:
score: 0
Accepted
time: 1ms
memory: 3764kb
input:
59 576460752303423487
output:
1 2
result:
ok single line: '1 2'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3704kb
input:
15 227368755046033249
output:
13 14
result:
ok single line: '13 14'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
27 72027091647987988
output:
1 4
result:
ok single line: '1 4'
Test #5:
score: 0
Accepted
time: 0ms
memory: 4052kb
input:
12 817283057828223168
output:
10 17
result:
ok single line: '10 17'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3748kb
input:
40 279103330129289325
output:
1 2
result:
ok single line: '1 2'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
9 200754090585004509
output:
27 31
result:
ok single line: '27 31'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
13 145272043713167318
output:
11 19
result:
ok single line: '11 19'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
13 330339892079732537
output:
3 5
result:
ok single line: '3 5'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3760kb
input:
8 518312274023062851
output:
35 81
result:
ok single line: '35 81'
Test #11:
score: 0
Accepted
time: 0ms
memory: 3708kb
input:
8 226575677743060500
output:
3 37
result:
ok single line: '3 37'
Test #12:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
22 947676267664323372
output:
5 6
result:
ok single line: '5 6'
Test #13:
score: 0
Accepted
time: 1ms
memory: 3764kb
input:
8 884152939068009488
output:
32 87
result:
ok single line: '32 87'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
10 334992255296783634
output:
1 2
result:
ok single line: '1 2'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3760kb
input:
9 387165762000719100
output:
9 26
result:
ok single line: '9 26'
Test #16:
score: 0
Accepted
time: 0ms
memory: 4124kb
input:
13 966426794141592430
output:
5 23
result:
ok single line: '5 23'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
30 3882204456
output:
impossible
result:
ok single line: 'impossible'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3572kb
input:
17 388292937745500
output:
impossible
result:
ok single line: 'impossible'
Test #19:
score: 0
Accepted
time: 82ms
memory: 3572kb
input:
7 77777777777777777
output:
impossible
result:
ok single line: 'impossible'
Test #20:
score: 0
Accepted
time: 84ms
memory: 3868kb
input:
6 1
output:
impossible
result:
ok single line: 'impossible'
Test #21:
score: 0
Accepted
time: 84ms
memory: 3624kb
input:
6 6
output:
impossible
result:
ok single line: 'impossible'
Test #22:
score: 0
Accepted
time: 84ms
memory: 3864kb
input:
6 666666666
output:
impossible
result:
ok single line: 'impossible'
Test #23:
score: -100
Wrong Answer
time: 84ms
memory: 3800kb
input:
6 982698952174251648
output:
impossible
result:
wrong answer 1st lines differ - expected: '3966 3967', found: 'impossible'