提出 #10325022


ソースコード 拡げる

#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx")
#include <bits/stdc++.h>

namespace {
    template<int n, typename T>
    void mult(const T *__restrict a, const T *__restrict b, T *__restrict res) {
        if (n <= 64) {
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    res[i + j] += a[i] * b[j];
                }
            }
        } else {
            const int mid = n / 2;
            alignas(64) T btmp[n], E[n] = {};
            auto atmp = btmp + mid;
            for (int i = 0; i < mid; i++) {
                atmp[i] = a[i] + a[i + mid];
                btmp[i] = b[i] + b[i + mid];
            }
            mult<mid>(atmp, btmp, E);
            mult<mid>(a + 0, b + 0, res);
            mult<mid>(a + mid, b + mid, res + n);
            for (int i = 0; i < mid; i++) {
                const auto tmp = res[i + mid];
                res[i + mid] += E[i] - res[i] - res[i + 2 * mid];
                res[i + 2 * mid] += E[i + mid] - tmp - res[i + 3 * mid];
            }
        }
    }
}

using ll = long long;

int main() {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(0);
    const int NMAX = (1 << 11)*49;
    alignas(64) static ll a[NMAX], b[NMAX * 2];
    int n; ll k; std::cin >> n >> k;
    for (int i = 0, val; i < n; i++) {
        std::cin >> val;
        a[val]++;
    }
    mult<NMAX>(a,a,b);
    ll answ(0);
    for (int i = 2 * NMAX - 1; k > 0 && i >= 0; i--) {
        answ += std::min(k, b[i]) * i;
        k -= b[i];
    }
    std::cout << answ << std::endl;
    return 0;
}

提出情報

提出日時
問題 E - Handshake
ユーザ dmkozyrev
言語 C++14 (GCC 5.4.1)
得点 500
コード長 1655 Byte
結果 AC
実行時間 409 ms
メモリ 5760 KiB

ジャッジ結果

セット名 Sample All after_contest
得点 / 配点 0 / 0 500 / 500 0 / 0
結果
AC × 3
AC × 66
AC
セット名 テストケース
Sample s1.txt, s2.txt, s3.txt
All 01.txt, 02.txt, 03.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 100.txt, 101.txt, 102.txt, 103.txt, 104.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, s1.txt, s2.txt, s3.txt
after_contest
ケース名 結果 実行時間 メモリ
01.txt AC 395 ms 4992 KiB
02.txt AC 393 ms 4992 KiB
03.txt AC 395 ms 4992 KiB
06.txt AC 395 ms 4992 KiB
07.txt AC 401 ms 5760 KiB
08.txt AC 397 ms 5760 KiB
09.txt AC 397 ms 5760 KiB
10.txt AC 396 ms 5760 KiB
100.txt AC 393 ms 4992 KiB
101.txt AC 399 ms 4992 KiB
102.txt AC 395 ms 4992 KiB
103.txt AC 393 ms 4992 KiB
104.txt AC 402 ms 4992 KiB
11.txt AC 399 ms 5760 KiB
12.txt AC 398 ms 5760 KiB
13.txt AC 402 ms 5760 KiB
14.txt AC 401 ms 5760 KiB
15.txt AC 402 ms 5760 KiB
16.txt AC 401 ms 5760 KiB
17.txt AC 401 ms 5760 KiB
18.txt AC 409 ms 5760 KiB
19.txt AC 402 ms 5760 KiB
20.txt AC 402 ms 5760 KiB
21.txt AC 401 ms 5760 KiB
22.txt AC 405 ms 5760 KiB
23.txt AC 403 ms 5760 KiB
24.txt AC 400 ms 5760 KiB
25.txt AC 403 ms 5760 KiB
26.txt AC 403 ms 5760 KiB
27.txt AC 404 ms 5760 KiB
28.txt AC 406 ms 5760 KiB
29.txt AC 401 ms 5760 KiB
30.txt AC 401 ms 5760 KiB
31.txt AC 399 ms 4992 KiB
32.txt AC 404 ms 4992 KiB
33.txt AC 399 ms 4992 KiB
34.txt AC 399 ms 4992 KiB
35.txt AC 399 ms 4992 KiB
36.txt AC 399 ms 4992 KiB
37.txt AC 401 ms 4992 KiB
38.txt AC 402 ms 4992 KiB
39.txt AC 407 ms 4992 KiB
40.txt AC 400 ms 4992 KiB
41.txt AC 400 ms 4992 KiB
42.txt AC 401 ms 4992 KiB
43.txt AC 400 ms 4992 KiB
44.txt AC 407 ms 4992 KiB
45.txt AC 407 ms 4992 KiB
46.txt AC 402 ms 4992 KiB
47.txt AC 406 ms 4992 KiB
48.txt AC 405 ms 4992 KiB
49.txt AC 406 ms 4992 KiB
50.txt AC 400 ms 4992 KiB
51.txt AC 406 ms 4992 KiB
52.txt AC 402 ms 4992 KiB
53.txt AC 401 ms 4992 KiB
54.txt AC 401 ms 4992 KiB
55.txt AC 403 ms 5760 KiB
56.txt AC 400 ms 4992 KiB
57.txt AC 401 ms 4992 KiB
58.txt AC 399 ms 4992 KiB
59.txt AC 404 ms 4992 KiB
60.txt AC 400 ms 4992 KiB
s1.txt AC 395 ms 4992 KiB
s2.txt AC 395 ms 4992 KiB
s3.txt AC 396 ms 4992 KiB