QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#497246#8508. DiviDueloLiuhaoAC ✓3ms3836kbC++232.7kb2024-07-28 21:39:572024-07-28 21:39:57

Judging History

你现在查看的是最新测评结果

  • [2024-07-28 21:39:57]
  • 评测
  • 测评结果:AC
  • 用时:3ms
  • 内存:3836kb
  • [2024-07-28 21:39:57]
  • 提交

answer

//
// Created by liuhao on 2024/7/28.
//
//      /##  /##             /##                               /######   /##   /##
//     | ## |__/            | ##                              /##__  ## | ##  | ##
//     | ##  /##  /##   /## | #######    /######    /######  |__/  \ ## | ##  | ##
//     | ## | ## | ##  | ## | ##__  ##  |____  ##  /##__  ##   /######/ | ########
//     | ## | ## | ##  | ## | ##  \ ##   /####### | ##  \ ##  /##____/  |_____  ##
//     | ## | ## | ##  | ## | ##  | ##  /##__  ## | ##  | ## | ##             | ##
//     | ## | ## |  ######/ | ##  | ## |  ####### |  ######/ | ########       | ##
//     |__/ |__/  \______/  |__/  |__/  \_______/  \______/  |________/       |__/
#include<bits/stdc++.h>
using namespace std;
#define PII pair<int,int>
#define fi first
#define se second
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define int long long
#define endl '\n'
#define vii vector<vector<int>>
using ll = long long;
using f64 = long double;
ll p;
f64 invp;
void setmod(ll x) {
	p = x, invp = (f64) 1 / x;
}
ll mul(ll a, ll b) {
	ll z = a * invp * b + 0.5;
	ll res = a * b - z * p;
	return res + (res >> 63 & p);
}
ll pow(ll a, ll x, ll res = 1) {
	for (; x; x >>= 1, a = mul(a, a))
		if (x & 1) res = mul(res, a);
	return res;
}
bool checkprime(ll p) {
	if (p == 1) return 0;
	setmod(p);
	ll d = __builtin_ctzll(p - 1), s = (p - 1) >> d;
	for (ll a: {2, 3, 5, 7, 11, 13, 82, 373}) {
		if (a % p == 0) continue;
		ll x = pow(a, s), y;
		for (int i = 0; i < d; ++i, x = y) {
			y = mul(x, x);
			if (y == 1 && x != 1 && x != p - 1) return 0;
		}
		if (x != 1) return 0;
	}
	return 1;
}
ll rho(ll n) {
	if (!(n & 1)) return 2;
	static std::mt19937_64 gen((size_t) "hehezhou");
	ll x = 0, y = 0, prod = 1;
	auto f = [&](ll o) { return mul(o, o) + 1; };
	setmod(n);
	for (int t = 30, z = 0; t % 64 || std::gcd(prod, n) == 1; ++t) {
		if (x == y) x = ++z, y = f(x);
		if (ll q = mul(prod, x + n - y)) prod = q;
		x = f(x), y = f(f(y));
	}
	return std::gcd(prod, n);
}
std::vector<ll> factor(ll x) {
	std::vector<ll> res;
	auto f = [&](auto f, ll x) {
		if (x == 1) return;
		if (checkprime(x)) return res.push_back(x);
		ll y = rho(x);
		f(f, y), f(f, x / y);
	};
	f(f, x), sort(res.begin(), res.end());
	return res;
}
signed main() {
#ifdef Liuhao
	freopen("in.txt", "r", stdin);
#else
	ios;
#endif
	int n;
	cin >> n;
	vector<int>div;
	for(int i=1;i*i<=n;i++){
		if(n%i==0){
			div.push_back(i);
			if(n/i!=i)div.push_back(n/i);
		}
	}
	std::sort(div.begin(), div.end());
	int d=n;
	for(int i=1;i<div.size();i++){
		d=gcd(d,div[i]);
	}
	if(div.size()==2||div.size()==4||d!=1&&div.size()%2==0)cout<<"Y"<<endl;
	else cout<<"N"<<endl;
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3600kb

input:

10

output:

Y

result:

ok "Y"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3484kb

input:

9

output:

N

result:

ok "N"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3548kb

input:

1

output:

N

result:

ok "N"

Test #4:

score: 0
Accepted
time: 3ms
memory: 3808kb

input:

549755813888

output:

Y

result:

ok "Y"

Test #5:

score: 0
Accepted
time: 2ms
memory: 3532kb

input:

274877906944

output:

N

result:

ok "N"

Test #6:

score: 0
Accepted
time: 3ms
memory: 3808kb

input:

847288609443

output:

Y

result:

ok "Y"

Test #7:

score: 0
Accepted
time: 2ms
memory: 3612kb

input:

282429536481

output:

N

result:

ok "N"

Test #8:

score: 0
Accepted
time: 1ms
memory: 3616kb

input:

137858491849

output:

N

result:

ok "N"

Test #9:

score: 0
Accepted
time: 1ms
memory: 3748kb

input:

10604499373

output:

Y

result:

ok "Y"

Test #10:

score: 0
Accepted
time: 0ms
memory: 3828kb

input:

506623120463

output:

Y

result:

ok "Y"

Test #11:

score: 0
Accepted
time: 1ms
memory: 3784kb

input:

10779215329

output:

N

result:

ok "N"

Test #12:

score: 0
Accepted
time: 1ms
memory: 3524kb

input:

41910794561

output:

Y

result:

ok "Y"

Test #13:

score: 0
Accepted
time: 1ms
memory: 3528kb

input:

64574155417

output:

Y

result:

ok "Y"

Test #14:

score: 0
Accepted
time: 1ms
memory: 3812kb

input:

75644818241

output:

Y

result:

ok "Y"

Test #15:

score: 0
Accepted
time: 1ms
memory: 3544kb

input:

124029899611

output:

Y

result:

ok "Y"

Test #16:

score: 0
Accepted
time: 2ms
memory: 3808kb

input:

134306640043

output:

Y

result:

ok "Y"

Test #17:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

146462570411

output:

Y

result:

ok "Y"

Test #18:

score: 0
Accepted
time: 2ms
memory: 3596kb

input:

222287988673

output:

Y

result:

ok "Y"

Test #19:

score: 0
Accepted
time: 2ms
memory: 3740kb

input:

263345887171

output:

Y

result:

ok "Y"

Test #20:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

717451682557

output:

Y

result:

ok "Y"

Test #21:

score: 0
Accepted
time: 3ms
memory: 3528kb

input:

825365364157

output:

Y

result:

ok "Y"

Test #22:

score: 0
Accepted
time: 3ms
memory: 3484kb

input:

870298842859

output:

Y

result:

ok "Y"

Test #23:

score: 0
Accepted
time: 3ms
memory: 3816kb

input:

887915259331

output:

Y

result:

ok "Y"

Test #24:

score: 0
Accepted
time: 3ms
memory: 3540kb

input:

967108197509

output:

Y

result:

ok "Y"

Test #25:

score: 0
Accepted
time: 3ms
memory: 3608kb

input:

990661375799

output:

Y

result:

ok "Y"

Test #26:

score: 0
Accepted
time: 3ms
memory: 3612kb

input:

999999999989

output:

Y

result:

ok "Y"

Test #27:

score: 0
Accepted
time: 3ms
memory: 3612kb

input:

999962000357

output:

Y

result:

ok "Y"

Test #28:

score: 0
Accepted
time: 3ms
memory: 3588kb

input:

999474022513

output:

Y

result:

ok "Y"

Test #29:

score: 0
Accepted
time: 3ms
memory: 3740kb

input:

999052035451

output:

Y

result:

ok "Y"

Test #30:

score: 0
Accepted
time: 3ms
memory: 3596kb

input:

999470040641

output:

Y

result:

ok "Y"

Test #31:

score: 0
Accepted
time: 3ms
memory: 3600kb

input:

998712349711

output:

Y

result:

ok "Y"

Test #32:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

998768376647

output:

Y

result:

ok "Y"

Test #33:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

998884311283

output:

Y

result:

ok "Y"

Test #34:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

998794254709

output:

Y

result:

ok "Y"

Test #35:

score: 0
Accepted
time: 3ms
memory: 3612kb

input:

998830303021

output:

Y

result:

ok "Y"

Test #36:

score: 0
Accepted
time: 3ms
memory: 3532kb

input:

999638023157

output:

Y

result:

ok "Y"

Test #37:

score: 0
Accepted
time: 3ms
memory: 3612kb

input:

998978227997

output:

Y

result:

ok "Y"

Test #38:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

999108034891

output:

Y

result:

ok "Y"

Test #39:

score: 0
Accepted
time: 0ms
memory: 3688kb

input:

998922289621

output:

Y

result:

ok "Y"

Test #40:

score: 0
Accepted
time: 3ms
memory: 3536kb

input:

999172169371

output:

Y

result:

ok "Y"

Test #41:

score: 0
Accepted
time: 3ms
memory: 3528kb

input:

999218015981

output:

Y

result:

ok "Y"

Test #42:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

981700934653

output:

N

result:

ok "N"

Test #43:

score: 0
Accepted
time: 3ms
memory: 3808kb

input:

942804229201

output:

N

result:

ok "N"

Test #44:

score: 0
Accepted
time: 3ms
memory: 3620kb

input:

822635014967

output:

N

result:

ok "N"

Test #45:

score: 0
Accepted
time: 3ms
memory: 3812kb

input:

954312321917

output:

N

result:

ok "N"

Test #46:

score: 0
Accepted
time: 3ms
memory: 3576kb

input:

965687001953

output:

N

result:

ok "N"

Test #47:

score: 0
Accepted
time: 3ms
memory: 3616kb

input:

907803030577

output:

N

result:

ok "N"

Test #48:

score: 0
Accepted
time: 3ms
memory: 3544kb

input:

993916557163

output:

N

result:

ok "N"

Test #49:

score: 0
Accepted
time: 0ms
memory: 3548kb

input:

844029771131

output:

N

result:

ok "N"

Test #50:

score: 0
Accepted
time: 3ms
memory: 3596kb

input:

862969367597

output:

N

result:

ok "N"

Test #51:

score: 0
Accepted
time: 3ms
memory: 3808kb

input:

768706748179

output:

N

result:

ok "N"

Test #52:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

744412255649

output:

N

result:

ok "N"

Test #53:

score: 0
Accepted
time: 3ms
memory: 3552kb

input:

877760921347

output:

N

result:

ok "N"

Test #54:

score: 0
Accepted
time: 3ms
memory: 3596kb

input:

779321766481

output:

N

result:

ok "N"

Test #55:

score: 0
Accepted
time: 3ms
memory: 3532kb

input:

786676948027

output:

N

result:

ok "N"

Test #56:

score: 0
Accepted
time: 3ms
memory: 3480kb

input:

775686765629

output:

N

result:

ok "N"

Test #57:

score: 0
Accepted
time: 0ms
memory: 3788kb

input:

971230541

output:

N

result:

ok "N"

Test #58:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

2385673

output:

N

result:

ok "N"

Test #59:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

52468711

output:

N

result:

ok "N"

Test #60:

score: 0
Accepted
time: 0ms
memory: 3788kb

input:

20358337

output:

N

result:

ok "N"

Test #61:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

9186689

output:

N

result:

ok "N"

Test #62:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

106251

output:

N

result:

ok "N"

Test #63:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

2859061

output:

N

result:

ok "N"

Test #64:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

51455519

output:

N

result:

ok "N"

Test #65:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

68063771

output:

N

result:

ok "N"

Test #66:

score: 0
Accepted
time: 0ms
memory: 3580kb

input:

44480353

output:

N

result:

ok "N"

Test #67:

score: 0
Accepted
time: 0ms
memory: 3488kb

input:

445130407

output:

N

result:

ok "N"

Test #68:

score: 0
Accepted
time: 0ms
memory: 3784kb

input:

54924301

output:

N

result:

ok "N"

Test #69:

score: 0
Accepted
time: 0ms
memory: 3744kb

input:

251377811

output:

N

result:

ok "N"

Test #70:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

11583287

output:

N

result:

ok "N"

Test #71:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

164689969

output:

N

result:

ok "N"

Test #72:

score: 0
Accepted
time: 2ms
memory: 3608kb

input:

220388553874

output:

N

result:

ok "N"

Test #73:

score: 0
Accepted
time: 2ms
memory: 3548kb

input:

337917710393

output:

N

result:

ok "N"

Test #74:

score: 0
Accepted
time: 2ms
memory: 3536kb

input:

484109724475

output:

N

result:

ok "N"

Test #75:

score: 0
Accepted
time: 2ms
memory: 3596kb

input:

494253368469

output:

N

result:

ok "N"

Test #76:

score: 0
Accepted
time: 3ms
memory: 3596kb

input:

790636814905

output:

N

result:

ok "N"

Test #77:

score: 0
Accepted
time: 3ms
memory: 3600kb

input:

593466711078

output:

N

result:

ok "N"

Test #78:

score: 0
Accepted
time: 3ms
memory: 3600kb

input:

701257784810

output:

N

result:

ok "N"

Test #79:

score: 0
Accepted
time: 3ms
memory: 3496kb

input:

821468484315

output:

N

result:

ok "N"

Test #80:

score: 0
Accepted
time: 2ms
memory: 3532kb

input:

321582188478

output:

N

result:

ok "N"

Test #81:

score: 0
Accepted
time: 3ms
memory: 3812kb

input:

623403649385

output:

N

result:

ok "N"

Test #82:

score: 0
Accepted
time: 2ms
memory: 3620kb

input:

172509105650

output:

N

result:

ok "N"

Test #83:

score: 0
Accepted
time: 3ms
memory: 3548kb

input:

579709456395

output:

N

result:

ok "N"

Test #84:

score: 0
Accepted
time: 3ms
memory: 3524kb

input:

703541153630

output:

N

result:

ok "N"

Test #85:

score: 0
Accepted
time: 2ms
memory: 3524kb

input:

371717528455

output:

N

result:

ok "N"

Test #86:

score: 0
Accepted
time: 3ms
memory: 3540kb

input:

925436174850

output:

N

result:

ok "N"

Test #87:

score: 0
Accepted
time: 2ms
memory: 3592kb

input:

441602590298

output:

N

result:

ok "N"

Test #88:

score: 0
Accepted
time: 3ms
memory: 3596kb

input:

663345923451

output:

N

result:

ok "N"

Test #89:

score: 0
Accepted
time: 3ms
memory: 3528kb

input:

662812798173

output:

N

result:

ok "N"

Test #90:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

662615302233

output:

N

result:

ok "N"

Test #91:

score: 0
Accepted
time: 3ms
memory: 3596kb

input:

663436223391

output:

N

result:

ok "N"

Test #92:

score: 0
Accepted
time: 3ms
memory: 3536kb

input:

662248872237

output:

N

result:

ok "N"

Test #93:

score: 0
Accepted
time: 3ms
memory: 3552kb

input:

662516706867

output:

N

result:

ok "N"

Test #94:

score: 0
Accepted
time: 3ms
memory: 3484kb

input:

864077614394

output:

N

result:

ok "N"

Test #95:

score: 0
Accepted
time: 3ms
memory: 3816kb

input:

977802486226

output:

N

result:

ok "N"

Test #96:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

647426786602

output:

N

result:

ok "N"

Test #97:

score: 0
Accepted
time: 3ms
memory: 3548kb

input:

901679277046

output:

N

result:

ok "N"

Test #98:

score: 0
Accepted
time: 3ms
memory: 3740kb

input:

642523777682

output:

N

result:

ok "N"

Test #99:

score: 0
Accepted
time: 3ms
memory: 3544kb

input:

871506220334

output:

N

result:

ok "N"

Test #100:

score: 0
Accepted
time: 3ms
memory: 3548kb

input:

950098378534

output:

N

result:

ok "N"

Test #101:

score: 0
Accepted
time: 3ms
memory: 3548kb

input:

660409283986

output:

N

result:

ok "N"

Test #102:

score: 0
Accepted
time: 3ms
memory: 3784kb

input:

819550638458

output:

N

result:

ok "N"

Test #103:

score: 0
Accepted
time: 3ms
memory: 3540kb

input:

846693913942

output:

N

result:

ok "N"

Test #104:

score: 0
Accepted
time: 3ms
memory: 3804kb

input:

630683996246

output:

N

result:

ok "N"

Test #105:

score: 0
Accepted
time: 3ms
memory: 3532kb

input:

698348891974

output:

N

result:

ok "N"

Test #106:

score: 0
Accepted
time: 3ms
memory: 3740kb

input:

794129725534

output:

N

result:

ok "N"

Test #107:

score: 0
Accepted
time: 3ms
memory: 3560kb

input:

731864249762

output:

N

result:

ok "N"

Test #108:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

758461160882

output:

N

result:

ok "N"

Test #109:

score: 0
Accepted
time: 2ms
memory: 3652kb

input:

200560490130

output:

N

result:

ok "N"

Test #110:

score: 0
Accepted
time: 2ms
memory: 3836kb

input:

132843110400

output:

N

result:

ok "N"

Test #111:

score: 0
Accepted
time: 3ms
memory: 3620kb

input:

700131600000

output:

N

result:

ok "N"

Test #112:

score: 0
Accepted
time: 3ms
memory: 3760kb

input:

755827200000

output:

N

result:

ok "N"

Test #113:

score: 0
Accepted
time: 1ms
memory: 3740kb

input:

3368254499

output:

Y

result:

ok "Y"

Test #114:

score: 0
Accepted
time: 2ms
memory: 3784kb

input:

338171833063

output:

Y

result:

ok "Y"

Test #115:

score: 0
Accepted
time: 2ms
memory: 3488kb

input:

182187833309

output:

Y

result:

ok "Y"

Test #116:

score: 0
Accepted
time: 2ms
memory: 3784kb

input:

207790265467

output:

Y

result:

ok "Y"

Test #117:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

101847563

output:

Y

result:

ok "Y"

Test #118:

score: 0
Accepted
time: 1ms
memory: 3784kb

input:

32187778741

output:

Y

result:

ok "Y"

Test #119:

score: 0
Accepted
time: 1ms
memory: 3552kb

input:

50284268371

output:

Y

result:

ok "Y"

Test #120:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

237176659

output:

Y

result:

ok "Y"

Test #121:

score: 0
Accepted
time: 1ms
memory: 3488kb

input:

6570725617

output:

Y

result:

ok "Y"

Test #122:

score: 0
Accepted
time: 1ms
memory: 3744kb

input:

11194326053

output:

Y

result:

ok "Y"

Test #123:

score: 0
Accepted
time: 0ms
memory: 3608kb

input:

288804781

output:

Y

result:

ok "Y"

Test #124:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

683099533943

output:

Y

result:

ok "Y"

Test #125:

score: 0
Accepted
time: 1ms
memory: 3540kb

input:

77909194511

output:

Y

result:

ok "Y"

Test #126:

score: 0
Accepted
time: 1ms
memory: 3808kb

input:

633839779

output:

Y

result:

ok "Y"

Test #127:

score: 0
Accepted
time: 1ms
memory: 3616kb

input:

49714249733

output:

Y

result:

ok "Y"

Test #128:

score: 0
Accepted
time: 1ms
memory: 3532kb

input:

60781478521

output:

N

result:

ok "N"

Test #129:

score: 0
Accepted
time: 1ms
memory: 3548kb

input:

6340459129

output:

N

result:

ok "N"

Test #130:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

582784140409

output:

N

result:

ok "N"

Test #131:

score: 0
Accepted
time: 1ms
memory: 3616kb

input:

106704795649

output:

N

result:

ok "N"

Test #132:

score: 0
Accepted
time: 2ms
memory: 3612kb

input:

364295537761

output:

N

result:

ok "N"

Test #133:

score: 0
Accepted
time: 1ms
memory: 3620kb

input:

48194738089

output:

N

result:

ok "N"

Test #134:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

534067178401

output:

N

result:

ok "N"

Test #135:

score: 0
Accepted
time: 2ms
memory: 3540kb

input:

266490315529

output:

N

result:

ok "N"

Test #136:

score: 0
Accepted
time: 1ms
memory: 3556kb

input:

41293897681

output:

N

result:

ok "N"

Test #137:

score: 0
Accepted
time: 2ms
memory: 3784kb

input:

405579196201

output:

N

result:

ok "N"

Test #138:

score: 0
Accepted
time: 1ms
memory: 3532kb

input:

7659225289

output:

N

result:

ok "N"

Test #139:

score: 0
Accepted
time: 3ms
memory: 3532kb

input:

650447089009

output:

N

result:

ok "N"

Test #140:

score: 0
Accepted
time: 3ms
memory: 3592kb

input:

856407728929

output:

N

result:

ok "N"

Test #141:

score: 0
Accepted
time: 2ms
memory: 3620kb

input:

536053872649

output:

N

result:

ok "N"

Test #142:

score: 0
Accepted
time: 1ms
memory: 3780kb

input:

48390760441

output:

N

result:

ok "N"

Extra Test:

score: 0
Extra Test Passed