Submission #1200583

#TimeUsernameProblemLanguageResultExecution timeMemory
1200583boclobanchat마술쇼 (APIO24_show)C++20
100 / 100
2 ms376 KiB
#include<vector> #include"Alice.h" using namespace std; vector< pair<int,int> > Alice() { long long x=setN(5000)+2043545791009887847; vector< pair<int,int> > edges; for(int i=1;i<5000;i++) edges.push_back({x%i+1,i+1}); return edges; }
#include<vector> #include"Bob.h" using namespace std; int pre[5005],md[5005],mx[5005]; long long Bob(vector< pair<int,int> > V) { for(int i=1;i<=5000;i++) pre[i]=i,mx[i]=1; for(int i=2;i<=5000;i++) if(pre[i]==i) for(int j=i;j<=5000;j+=i) pre[j]=min(pre[j],i); for(auto v:V) { int x=v.first-1,y=v.second-1; while(y>1) { int p=pre[y],res=1; while(y%p==0) y/=p,res*=p; if(mx[p]<res) mx[p]=res,md[p]=x%res; } } long long ans=0,lc=1; for(int i=1;i<=5000;i++) if(ans%mx[i]!=md[i]) { while(ans%mx[i]!=md[i]) ans+=lc; lc*=mx[i]; } return ans-2043545791009887847; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...