結果
| 問題 | No.3435 [Cherry 8th Tune *] 何回 LOVE SONG を書き換えただろうか? |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-01-23 21:31:05 |
| 言語 | C++17 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 372 ms / 3,000 ms |
| コード長 | 1,174 bytes |
| 記録 | |
| コンパイル時間 | 5,588 ms |
| コンパイル使用メモリ | 281,388 KB |
| 実行使用メモリ | 13,184 KB |
| 最終ジャッジ日時 | 2026-01-23 21:31:48 |
| 合計ジャッジ時間 | 19,939 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 48 |
ソースコード
#include <atcoder/all>
#include <bits/stdc++.h>
using namespace std;
using i32 = int;
using i64 = long long;
using i128 = __int128_t;
using f64 = double;
using p2 = pair<i64, i64>;
using el = tuple<i64, i64, i64>;
using mint = atcoder::modint;
void _main();
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
cout << fixed << setprecision(18);
_main();
}
void _main() {
vector<vector<i64>> dist(26, vector<i64>(26, 0));
string a;
cin >> a;
for (i64 i = 0; i < a.size(); i++) {
for (i64 j = 0; j < a.size(); j++) {
i64 x = a[i] - 'a', y = a[j] - 'a';
cin >> dist[x][y];
}
}
i64 n, m;
cin >> n >> m;
vector<string> s(n);
for (i64 i = 0; i < n; i++) {
cin >> s[i];
}
vector<i64> ans(n, 0);
for (i64 i = 0; i < m; i++) {
vector<i64> cnt(26, 0);
vector<i64> sum(26, 0);
for (i64 j = 0; j < n; j++) {
cnt[s[j][i] - 'a']++;
}
for (i64 j = 0; j < 26; j++) {
for (i64 k = 0; k < 26; k++) {
sum[j] += dist[j][k] * cnt[k];
}
}
for (i64 j = 0; j < n; j++) {
ans[j] += sum[s[j][i] - 'a'];
}
}
for (i64 i = 0; i < n; i++) {
cout << ans[i] << "\n";
}
}