Submission #52623038


Source Code Expand

#include<bits/stdc++.h>
#define int long long
#define rep(i,a,b) for(int i(a);i<=(b);++i)
#define req(i,a,b) for(int i(a);i>=(b);--i)
using namespace std;
char buf[1<<23],*p1=buf,*p2=buf,ubuf[1<<23],*u=ubuf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
constexpr int BIT=((int)(sizeof(int))<<3)-1;
inline int Abs(int x)
{
	int t=x>>BIT;
	return (x+t)^t;
}
inline int Min(int x,int y)
{
	int diff=y-x;
	return x+(diff&(diff>>BIT));
}
inline int Max(int x,int y)
{
	int diff=x-y;
	return x-(diff&(diff>>BIT));
}
inline void Swap(int &x,int &y)
{
	x^=y^=x^=y;
}
inline float Sqrt(float x)
{
	if(x<0) fprintf(stderr,"float Sqrt(float x): Error x<0\n"),assert(0);
	int i;
	float x2,y;
	constexpr float threehalfs=1.5;
	x2=x*0.5;
	y=x;
	i=*(int*)&y;
	i=0x5f3759df-(i>>1);
	y=*(float*)&i;
	y=y*(threehalfs-(x2*y*y));
	y=y*(threehalfs-(x2*y*y));
	return 1.0/y;
}
template<typename TP> inline TP read(TP &num)
{
	TP x=0;
	int f=0;
	char ch=getchar();
	while(ch<48||ch>57) f|=ch=='-',ch=getchar();
	while(48<=ch&&ch<=57) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
	return num=f?-x:x;
}
template<typename ...Args> inline void read(Args &...args)
{
	(read(args),...);
}
template<typename TP> inline void write(TP x)
{
	(x<0)?(putchar('-'),x=-x):0;
	(x>9)?(write(x/10),0):0;
	putchar((x%10)^48);
}
template<typename TP> inline void writeln(TP x)
{
	write<TP>(x);
	puts("");
}
int n,q,opt,x,y,lst;
vector<int> g[100001];
bitset<100001> vis;
signed main()
{
	read(n,q);
	while(q--)
	{
		read(opt,x,y);
		opt=1+(((opt*(1+lst))%998244353)%2);
		x=1+(((x*(1+lst))%998244353)%n);
		y=1+(((y*(1+lst))%998244353)%n);
		if(opt==1) g[x].emplace_back(y),g[y].emplace_back(x);
		else
		{
			int found=0;
			vis.reset();
			for(auto i:g[x]) vis.set(i);
			for(auto i:g[y]) if(vis.test(i))
			{
				writeln(i);
				lst=i;
				found=1;
				break;
			}
			if(!found) puts("0"),lst=0;
		}
	}
	return 0;
}

Submission Info

Submission Time
Task G - Mediator
User nrO728
Language C++ 23 (gcc 12.2)
Score 600
Code Size 2003 Byte
Status AC
Exec Time 1356 ms
Memory 11744 KiB

Compile Error

Main.cpp: In function ‘float Sqrt(float)’:
Main.cpp:36:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   36 |         i=*(int*)&y;
      |            ^~~~~~~~
Main.cpp:38:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   38 |         y=*(float*)&i;
      |            ^~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 87
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt, test_71.txt, test_72.txt, test_73.txt, test_74.txt, test_75.txt, test_76.txt, test_77.txt, test_78.txt, test_79.txt, test_80.txt, test_81.txt, test_82.txt, test_83.txt, test_84.txt, test_85.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3540 KiB
sample_02.txt AC 1 ms 3560 KiB
test_01.txt AC 1 ms 3492 KiB
test_02.txt AC 1 ms 3552 KiB
test_03.txt AC 1 ms 3536 KiB
test_04.txt AC 18 ms 8340 KiB
test_05.txt AC 17 ms 11744 KiB
test_06.txt AC 18 ms 8312 KiB
test_07.txt AC 18 ms 11288 KiB
test_08.txt AC 16 ms 6292 KiB
test_09.txt AC 17 ms 8080 KiB
test_10.txt AC 17 ms 11284 KiB
test_11.txt AC 17 ms 8560 KiB
test_12.txt AC 16 ms 6476 KiB
test_13.txt AC 18 ms 10428 KiB
test_14.txt AC 18 ms 8504 KiB
test_15.txt AC 17 ms 11704 KiB
test_16.txt AC 17 ms 8548 KiB
test_17.txt AC 18 ms 8956 KiB
test_18.txt AC 17 ms 6656 KiB
test_19.txt AC 17 ms 6888 KiB
test_20.txt AC 17 ms 8380 KiB
test_21.txt AC 18 ms 8616 KiB
test_22.txt AC 16 ms 7920 KiB
test_23.txt AC 17 ms 11384 KiB
test_24.txt AC 18 ms 7224 KiB
test_25.txt AC 17 ms 8388 KiB
test_26.txt AC 16 ms 9100 KiB
test_27.txt AC 18 ms 8028 KiB
test_28.txt AC 16 ms 6708 KiB
test_29.txt AC 16 ms 10340 KiB
test_30.txt AC 17 ms 10320 KiB
test_31.txt AC 16 ms 9920 KiB
test_32.txt AC 16 ms 9056 KiB
test_33.txt AC 17 ms 7160 KiB
test_34.txt AC 14 ms 11196 KiB
test_35.txt AC 15 ms 9156 KiB
test_36.txt AC 17 ms 8864 KiB
test_37.txt AC 18 ms 7832 KiB
test_38.txt AC 16 ms 6864 KiB
test_39.txt AC 15 ms 6136 KiB
test_40.txt AC 1356 ms 9928 KiB
test_41.txt AC 675 ms 10168 KiB
test_42.txt AC 752 ms 9936 KiB
test_43.txt AC 447 ms 9964 KiB
test_44.txt AC 572 ms 10088 KiB
test_45.txt AC 317 ms 10068 KiB
test_46.txt AC 466 ms 10060 KiB
test_47.txt AC 270 ms 9988 KiB
test_48.txt AC 402 ms 10004 KiB
test_49.txt AC 229 ms 10044 KiB
test_50.txt AC 259 ms 10364 KiB
test_51.txt AC 151 ms 10380 KiB
test_52.txt AC 42 ms 10508 KiB
test_53.txt AC 29 ms 10424 KiB
test_54.txt AC 28 ms 10632 KiB
test_55.txt AC 22 ms 10648 KiB
test_56.txt AC 15 ms 11208 KiB
test_57.txt AC 14 ms 11008 KiB
test_58.txt AC 14 ms 11032 KiB
test_59.txt AC 14 ms 11072 KiB
test_60.txt AC 896 ms 8440 KiB
test_61.txt AC 810 ms 9712 KiB
test_62.txt AC 685 ms 9964 KiB
test_63.txt AC 583 ms 10236 KiB
test_64.txt AC 906 ms 8604 KiB
test_65.txt AC 809 ms 9676 KiB
test_66.txt AC 686 ms 10068 KiB
test_67.txt AC 580 ms 10336 KiB
test_68.txt AC 17 ms 11124 KiB
test_69.txt AC 17 ms 11024 KiB
test_70.txt AC 16 ms 11072 KiB
test_71.txt AC 16 ms 11212 KiB
test_72.txt AC 15 ms 8288 KiB
test_73.txt AC 14 ms 9204 KiB
test_74.txt AC 14 ms 9592 KiB
test_75.txt AC 14 ms 9996 KiB
test_76.txt AC 13 ms 5716 KiB
test_77.txt AC 13 ms 5684 KiB
test_78.txt AC 12 ms 5516 KiB
test_79.txt AC 12 ms 5568 KiB
test_80.txt AC 14 ms 5568 KiB
test_81.txt AC 13 ms 5588 KiB
test_82.txt AC 13 ms 5748 KiB
test_83.txt AC 12 ms 5528 KiB
test_84.txt AC 12 ms 5528 KiB
test_85.txt AC 14 ms 5588 KiB