提出 #16326968
ソースコード 拡げる
// dfmt off
T lread(T=long)(){return readln.chomp.to!T;}T[] lreads(T=long)(long n){return iota(n).map!((_)=>lread!T).array;}
T[] aryread(T=long)(){return readln.split.to!(T[]);}void arywrite(T)(T a){a.map!text.join(' ').writeln;}
void scan(L...)(ref L A){auto l=readln.split;foreach(i,T;L){A[i]=l[i].to!T;}}alias sread=()=>readln.chomp();
void dprint(L...)(lazy L A){debug{auto l=new string[](L.length);static foreach(i,a;A)l[i]=a.text;arywrite(l);}}
alias PQueue(T,alias l="b<a")=BinaryHeap!(Array!T,l);import std, core.bitop;
// dfmt on
void main()
{
auto input = stdin.byLine.map!split.joiner;
long N;
N = input.front.to!long;
input.popFront;
long[] A = new long[](cast(size_t)(N));
foreach (i; 0 .. cast(size_t)(N))
{
A[i] = input.front.to!long;
input.popFront;
}
solve(N, A);
}
void solve(long N, long[] A)
{
long[long] d;
foreach (a; A)
{
auto f = factorize(a);
foreach (key, value; f)
{
d[key] = d.get(key, 0) + 1;
}
}
if (d.values.all!"a==1")
{
writeln("pairwise coprime");
return;
}
if (A.reduce!gcd == 1)
{
writeln("setwise coprime");
return;
}
writeln("not coprime");
}
T[U] factorize(T = long, U = long)(T x)
{
assert(0 < x, "x is negative");
long[long] ps;
while ((x & 1) == 0)
x /= 2, ps[2] = (2 in ps) ? ps[2] + 1 : 1;
for (long i = 3; i * i <= x; i += 2)
while (x % i == 0)
x /= i, ps[i] = (i in ps) ? ps[i] + 1 : 1;
if (x != 1)
ps[x] = (x in ps) ? ps[x] + 1 : 1;
return ps;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Coprime |
| ユーザ | kotet |
| 言語 | D (DMD 2.091.0) |
| 得点 | 500 |
| コード長 | 1630 Byte |
| 結果 | AC |
| 実行時間 | 1651 ms |
| メモリ | 57832 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, max_01.txt, max_02.txt, max_03.txt, max_04.txt, max_05.txt, max_11.txt, max_12.txt, max_13.txt, max_14.txt, max_15.txt, max_16.txt, max_17.txt, max_18.txt, pair_01.txt, pair_02.txt, pair_03.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| hand_01.txt | AC | 10 ms | 3620 KiB |
| max_01.txt | AC | 161 ms | 57616 KiB |
| max_02.txt | AC | 1651 ms | 55196 KiB |
| max_03.txt | AC | 1055 ms | 57832 KiB |
| max_04.txt | AC | 1118 ms | 55128 KiB |
| max_05.txt | AC | 284 ms | 15788 KiB |
| max_11.txt | AC | 276 ms | 22604 KiB |
| max_12.txt | AC | 172 ms | 57592 KiB |
| max_13.txt | AC | 291 ms | 15824 KiB |
| max_14.txt | AC | 288 ms | 15896 KiB |
| max_15.txt | AC | 286 ms | 15780 KiB |
| max_16.txt | AC | 291 ms | 15764 KiB |
| max_17.txt | AC | 289 ms | 15812 KiB |
| max_18.txt | AC | 289 ms | 15772 KiB |
| pair_01.txt | AC | 289 ms | 15776 KiB |
| pair_02.txt | AC | 288 ms | 15856 KiB |
| pair_03.txt | AC | 290 ms | 15828 KiB |
| random_01.txt | AC | 102 ms | 7248 KiB |
| random_02.txt | AC | 85 ms | 7036 KiB |
| random_03.txt | AC | 105 ms | 7304 KiB |
| random_04.txt | AC | 100 ms | 7436 KiB |
| random_05.txt | AC | 117 ms | 7512 KiB |
| random_06.txt | AC | 104 ms | 7620 KiB |
| sample_01.txt | AC | 5 ms | 3624 KiB |
| sample_02.txt | AC | 2 ms | 3536 KiB |
| sample_03.txt | AC | 2 ms | 3640 KiB |