QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#860306 | #9962. Diminishing Fractions | mzmz001# | WA | 116ms | 34884kb | C++14 | 1.3kb | 2025-01-18 12:13:33 | 2025-01-18 12:13:35 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
long long n=5e4,m,k,l,f[1000007],T,a1,b[1000007],js,gs,wi;
int bo[4000007],sh[4000007];
vector<int>ve[1000007];
int am[1007][5207],an[1007][5207],si[1007];
long long inv(long long x,long long y){return x>1?y-inv(y%x,x)*y/x:1;}
double an1;
int main(){
for(int i=2;i<=n;i++){
if(!bo[i]){++gs;
for(int j=i+i;j<=n;j+=i)bo[j]=1;
for(int j=i;j<=n;j=j*i){
sh[j]=i;
if(j>n/i)break;
}
}
}
cin>>T;
for(int u=1;u<=T;u++){
scanf("%lld",&a1);
ve[a1].push_back(u);
}
for(int i=1;i<=n;i++){
if(sh[i]){
if(sh[i]>b[js])b[++js]=sh[i];bo[sh[i]]=i;
f[sh[i]]=1;
for(int j=1;j<=js;j++){
if(b[j]!=sh[i]){
f[b[j]]=f[b[j]]*sh[i]%bo[b[j]];
f[sh[i]]=f[sh[i]]*bo[b[j]]%i;
}
}
}
if(ve[i].size()){
for(int j:ve[i]){
if(i==1){
si[j]=-1;
continue;
}
si[j]=js;
for(int o=1;o<=js;o++)am[j][o]=bo[b[o]],an[j][o]=f[b[o]];
}
}
}
for(int u=1;u<=T;u++){
if(si[u]==-1)puts("1/1");
else{
an1=0;
for(int i=1;i<=si[u];i++){
an[u][i]=inv(an[u][i]%am[u][i],am[u][i]);
an1+=(double)an[u][i]/am[u][i];
}
int s=floor(an1);
for(int i=1;i<=si[u];i++){
printf("%d/%d",an[u][i],am[u][i]);
if(i!=si[u])printf("+");
}
for(int i=1;i<=s;i++)printf("-1");
puts("");
}
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 116ms
memory: 34884kb
input:
2 3 6
output:
1/2+2/3-1 3/4+2/3+3/5-1-1
result:
wrong answer Expected '/' in fraction