結果
問題 |
No.2419 MMA文字列2
|
ユーザー |
|
提出日時 | 2023-08-20 15:26:13 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 972 bytes |
コンパイル時間 | 2,044 ms |
コンパイル使用メモリ | 106,752 KB |
実行使用メモリ | 17,664 KB |
最終ジャッジ日時 | 2024-11-30 18:26:13 |
合計ジャッジ時間 | 4,480 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[] NMi => ReadLine().Split().Select(c => int.Parse(c) - 1).ToArray(); static int[][] NMap(int n) => Enumerable.Repeat(0, n).Select(_ => NMi).ToArray(); public static void Main() { Solve(); } static void Solve() { var s = ReadLine(); var total = new int[26]; foreach (var c in s) ++total[c - 'A']; var sum = new int[26]; var ans = 0L; for (var i = 0; i < s.Length; ++i) { var c = s[i] - 'A'; ++sum[c]; if (sum[c] > 1) { ans += (long)(sum[c] - 1) * (s.Length - i - 1 - total[c] + sum[c]); } } WriteLine(ans); } }