提出 #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;
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
500 / 500 |
| 結果 |
|
|
| セット名 |
テストケース |
| 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 |