提出 #57490254


ソースコード 拡げる

#include <bits/stdc++.h>
#include <atcoder/modint>

namespace {
    using ModInt [[maybe_unused]] = atcoder::modint998244353;
    using Num [[maybe_unused]] = long long int;
    using Vec [[maybe_unused]] = std::vector<Num>;
    using Set [[maybe_unused]] = std::set<Num>;
    using Mset [[maybe_unused]] = std::multiset<Num>;
    using Edges [[maybe_unused]] = std::vector<std::vector<Num>>;

    template<typename T>
    using Q [[maybe_unused]] = std::queue<T>;

    template<typename T>
    using PQ [[maybe_unused]] = std::priority_queue<T, std::vector<T>, std::greater<T>>;

    const std::vector<std::pair<Num, Num>> dyxs {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
    std::map<char, std::pair<Num, Num>> directions {{'D', {1, 0}}, {'U', {-1, 0}}, {'R', {0, 1}}, {'L', {0, -1}}};

    template<typename T>
    void print_oneline(const std::vector<T>& vec, std::ostream& os) {
        const auto size = vec.size();
        for(size_t i{0}; i<size; ++i) {
            os << vec.at(i) << (((i+1) == size) ? '\n' : ' ');
        }
    }

    template<typename T>
    void print_each(const std::vector<T>& vec, std::ostream& os) {
        const auto size = vec.size();
        for(size_t i{0}; i<size; ++i) {
            os << vec.at(i) << '\n';
        }
    }
}

void solve(std::istream& is, std::ostream& os) {
    std::string s;
    is >> s;
    const Num size = s.size();

    std::vector<Num> cnt(26);
    for(const auto& c : s) {
        const Num d = c - 'a';
        cnt.at(d) += 1;
    }

    Num ans = (size * (size + 1)) / 2;
    for(const auto& t : cnt) {
        ans -= (t * (t + 1)) / 2;
    }
    os << ans + 1 << "\n";
}

int main(void) {
    solve(std::cin, std::cout);
    return 0;
}

提出情報

提出日時
問題 B - Reverse and Compare
ユーザ zettsut
言語 C++ 20 (gcc 12.2)
得点 500
コード長 1758 Byte
結果 AC
実行時間 4 ms
メモリ 3808 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 3
AC × 23
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 1 ms 3532 KiB
sample_02.txt AC 1 ms 3488 KiB
sample_03.txt AC 1 ms 3528 KiB
subtask_1_01.txt AC 1 ms 3680 KiB
subtask_1_02.txt AC 4 ms 3808 KiB
subtask_1_03.txt AC 1 ms 3496 KiB
subtask_1_04.txt AC 1 ms 3488 KiB
subtask_1_05.txt AC 1 ms 3676 KiB
subtask_1_06.txt AC 1 ms 3560 KiB
subtask_1_07.txt AC 1 ms 3652 KiB
subtask_1_08.txt AC 3 ms 3684 KiB
subtask_1_09.txt AC 3 ms 3528 KiB
subtask_1_10.txt AC 3 ms 3620 KiB
subtask_1_11.txt AC 3 ms 3604 KiB
subtask_1_12.txt AC 3 ms 3736 KiB
subtask_1_13.txt AC 3 ms 3540 KiB
subtask_1_14.txt AC 3 ms 3528 KiB
subtask_1_15.txt AC 3 ms 3488 KiB
subtask_1_16.txt AC 3 ms 3664 KiB
subtask_1_17.txt AC 3 ms 3596 KiB