結果
問題 | No.14 最小公倍数ソート |
ユーザー | mai |
提出日時 | 2017-07-07 23:34:04 |
言語 | cLay (20240714-1) |
結果 |
CE
|
実行時間 | - |
コード長 | 741 bytes |
コンパイル時間 | 1,886 ms |
コンパイル使用メモリ | 163,124 KB |
最終ジャッジ日時 | 2024-07-05 12:22:41 |
合計ジャッジ時間 | 2,214 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In instantiation of ‘void sort_idx_proto(ITER, ITER, V&) [with ITER = long long int*; V = long long int [10010]]’: main.cpp:143:19: required from here main.cpp:118:7: error: request for member ‘resize’ in ‘idx’, which is of non-class type ‘long long int [10010]’ 118 | idx.resize(n); | ~~~~^~~~~~ main.cpp:122:12: error: request for member ‘begin’ in ‘idx’, which is of non-class type ‘long long int [10010]’ 122 | sort(idx.begin(), idx.end(), [&begin](int l, int r) {return begin[l] < begin[r]; }); | ~~~~^~~~~ main.cpp:122:25: error: request for member ‘end’ in ‘idx’, which is of non-class type ‘long long int [10010]’ 122 | sort(idx.begin(), idx.end(), [&begin](int l, int r) {return begin[l] < begin[r]; }); | ~~~~^~~
ソースコード
template <typename ITER, typename V> void sort_idx_proto(const ITER begin, const ITER end, V& idx){//, vector<int> &idxr) { size_t n = end - begin; idx.resize(n); //idxr.resize(n); for (int i = 0; i < n; ++i) idx[i] = i; sort(idx.begin(), idx.end(), [&begin](int l, int r) {return begin[l] < begin[r]; }); //for (int i = 0; i < n; ++i) idxr[idx[i]] = i; } ll n; ll aa[10010]; ll bb[10010]; ll gg[10010]; ll v[10010]; { rd(n, aa(n)); //vector<int> v(n); rep(i, n){ rep(j, i+1, n) gg[j] = gcd(aa[i],aa[j]); sort_idx_proto(gg+i, gg+n, v); rep(j, i+1, n){ bb[j] = aa[v[j]]; } rep(j, i+1, n){ aa[j] = bb[j]; } } wt(aa(n)); }