QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#99738#5377. $N$ 门问题zhouhuanyi0 2ms3744kbC++231.0kb2023-04-23 16:38:152023-04-23 16:38:18

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-04-23 16:38:18]
  • 评测
  • 测评结果:0
  • 用时:2ms
  • 内存:3744kb
  • [2023-04-23 16:38:15]
  • 提交

answer

#include<iostream>
#include<cstdio>
#define N 50000
using namespace std;
long long read()
{
    char c=0;
    long long sum=0;
    while (c<'0'||c>'9') c=getchar();
    while ('0'<=c&&c<='9') sum=sum*10+c-'0',c=getchar();
    return sum;
}
__int128 T,a,b,sx,sy,n;
double ans;
__int128 gcd(__int128 a,__int128 b)
{
    if (!b) return a;
    return gcd(b,a%b);
}
__int128 lcm(__int128 a,__int128 b)
{
    return a/gcd(a,b)*b;
}
void exgcd(__int128 a,__int128 b)
{
    if (!b)
    {
	sx=1,sy=0;
	return;
    }
    exgcd(b,a%b);
    __int128 tx=sx;
    sx=sy,sy=tx-(a/b)*sy;
    return;
}
int main()
{
    __int128 d=0,p=1,sp,g;
    T=read();
    while (T--)
    {
	a=read(),b=read(),g=gcd(p,b),sp=lcm(p,b);
	if ((a-d)%g!=0)
	{
	    puts("error");
	    return 0;
	}
	exgcd(p,b),sx=((sx*((a-d)/g))%sp+sp)%sp,d=(p*sx+d)%sp,p=sp;
    }
    if (d) n=d;
    else n=p;
    if (n<2) puts("error");
    else if (n==2) ans=1.0/2;
    else if (n==3) ans=2.0/3;
    else ans=5.0/8;
    printf("%0.6lf\n",ans);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 5
Accepted
time: 2ms
memory: 3524kb

input:

1
2 3

output:

0.500000

result:

ok single line: '0.500000'

Test #2:

score: 0
Accepted
time: 1ms
memory: 3516kb

input:

1
3 5

output:

0.666667

result:

ok single line: '0.666667'

Test #3:

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

input:

1
4 5

output:

0.625000

result:

ok single line: '0.625000'

Test #4:

score: -5
Wrong Answer
time: 2ms
memory: 3532kb

input:

1
0 4

output:

0.625000

result:

wrong answer 1st lines differ - expected: 'error', found: '0.625000'

Subtask #2:

score: 0
Wrong Answer

Test #6:

score: 0
Wrong Answer
time: 1ms
memory: 3544kb

input:

8
1 160005726539569
1 233
0 1
1 2947295521
1 686719856393
1 54289
1 12649337
1 37281334283719577

output:

error
0.000000

result:

wrong output format Extra information in the output file

Subtask #3:

score: 0
Skipped

Dependency #2:

0%

Subtask #4:

score: 0
Skipped

Dependency #3:

0%

Subtask #5:

score: 0
Skipped

Dependency #1:

0%

Subtask #6:

score: 0
Wrong Answer

Test #57:

score: 0
Wrong Answer
time: 1ms
memory: 3744kb

input:

15
15 17
2 3
5 31
4 5
12 29
38 41
3 11
44 47
16 23
11 19
6 13
3 37
1 2
21 43
5 7

output:

0.625000

result:

wrong answer 1st lines differ - expected: '0.000000', found: '0.625000'

Subtask #7:

score: 0
Skipped

Dependency #1:

0%