結果

問題 No.14 最小公倍数ソート
ユーザー maimai
提出日時 2017-07-07 23:34:31
言語 cLay
(20240104-1)
結果
CE  
実行時間 -
コード長 648 bytes
コンパイル時間 1,724 ms
コンパイル使用メモリ 150,820 KB
最終ジャッジ日時 2023-09-18 23:23:49
合計ジャッジ時間 2,138 ms
ジャッジサーバーID
(参考情報)
judge13 / judge14
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、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:33:   required from here
main.cpp:121:12: error: request for member ‘begin’ in ‘idx’, which is of non-class type ‘long long int [10010]’
   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]’
   sort(idx.begin(), idx.end(), [&begin](int l, int r) {return begin[l] < begin[r]; });
                     ~~~~^~~

ソースコード

diff #

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));
}
0