QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#100804 | #5377. $N$ 门问题 | lenlen | 0 | 2ms | 3632kb | C++14 | 1.8kb | 2023-04-28 10:23:50 | 2023-04-28 10:23:53 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+7232;
int n;
struct EXCRT{
int a[N],p[N],x,y;
int mul(int a,int b,int p)
{
int sum=0;b=(b%p+p)%p;
while(b)
{
if(b&1) (sum+=a)%=p;
(a<<=1)%=p;b>>=1;
}
return sum;
}
void init(){for(int i=1;i<=n;i++) scanf("%lld%lld",&a[i],&p[i]);}
int exgcd(int a,int b,int &x,int &y)
{
if(!b) {x=1,y=0;return a;}
int gcd=exgcd(b,a%b,x,y);
int z=x;x=y;y=z-y*(a/b);
return gcd;
}
bool merge(int k)
{
int d=exgcd(p[k],p[k+1],x,y);
// cout<<d<<"\n"<<a[k]<<" "<<p[k]<<" "<<a[k+1]<<p[k+1];
if((a[k+1]-a[k])%d) return true;
int tmp=exgcd(p[k]/d,p[k+1]/d,x,y);
p[k+1]=p[k]/exgcd(p[k],p[k+1],x,y)*p[k+1];
a[k+1]=a[k]+mul(mul((a[k+1]-a[k])/d,x,p[k+1]),p[k],p[k+1]);
return false;
}
int ask()
{
for(int i=1;i<n;i++)
{
if(merge(i)) return -1;
// cout<<a[i+1]<<" "<<p[i+1]<<"\n";cout<<"\n";
}
return (a[n]%p[n]+p[n])%p[n];
}
}CRT;
int s[N];
double p[N];
bitset<N> vis;
// void check()
// {
// for(int i=1;i<=n;i++) p[i]=1/n;
// for()
// }
// void dfs(int x)
// {
// if(x==n+1) {check();return ;}
// for(int i=1;i<=n;i++)
// {
// if(vis[i]) continue;
// vis[i]=1;s[x]=i;dfs(x+1);vis[i]=0;
// }
// }
signed main()
{
scanf("%lld",&n);
CRT.init();
n=CRT.ask();
cout<<n<<"\n";
if(n>10) printf("0.000000\n");
else if(n==1||n==-1||n==0) printf("error\n");
else if(n==2) printf("0.500000\n");
else if(n==3) printf("0.666667\n");
else if(n==4) printf("0.625000\n");
else if(n==5) printf("0.466667\n");
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 2ms
memory: 3420kb
input:
1 2 3
output:
2 0.500000
result:
wrong answer 1st lines differ - expected: '0.500000', found: '2'
Subtask #2:
score: 0
Wrong Answer
Test #6:
score: 0
Wrong Answer
time: 2ms
memory: 3564kb
input:
8 1 160005726539569 1 233 0 1 1 2947295521 1 686719856393 1 54289 1 12649337 1 37281334283719577
output:
1 error
result:
wrong answer 1st lines differ - expected: 'error', found: '1'
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: 2ms
memory: 3632kb
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:
203641602709242899 0.000000
result:
wrong answer 1st lines differ - expected: '0.000000', found: '203641602709242899'
Subtask #7:
score: 0
Skipped
Dependency #1:
0%