제출 #1200583

#제출 시각아이디문제언어결과실행 시간메모리
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...