結果
| 問題 | No.14 最小公倍数ソート |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-07-07 23:34:31 |
| 言語 | cLay (20241019-1) |
| 結果 |
CE
|
| 実行時間 | - |
| コード長 | 648 bytes |
| コンパイル時間 | 1,809 ms |
| コンパイル使用メモリ | 162,992 KB |
| 最終ジャッジ日時 | 2024-07-05 12:22:44 |
| 合計ジャッジ時間 | 2,215 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / 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:142:19: required from here
main.cpp:121:12: error: request for member ‘begin’ in ‘idx’, which is of non-class type ‘long long int [10010]’
121 | sort(idx.begin(), idx.end(), [&begin](int l, int r) {return begin[l] < begin[r]; });
| ~~~~^~~~~
main.cpp:121:25: error: request for member ‘end’ in ‘idx’, which is of non-class type ‘long long int [10010]’
121 | 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;
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]; });
}
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));
}