이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
ll N, M, K;
cin >> N >> M >> K;
vector<array<ll, 26>> freq(M);
vector<ll> v(N), freqTot(M);
vector<string> dnas(N);
for (auto &s : dnas) cin >> s;
for (auto &x : v) x = (rng() % ((ll)1e9 + 10LL));
for (int i = 0; i < N; i++)
{
const auto &s = dnas[i];
for (int j = 0; s[j]; j++)
{
freq[j][s[j] - 'A'] += v[i]; freqTot[j] += v[i];
}
}
ll soma = accumulate(v.begin(), v.end(), 0LL);
for (int i = 0; i < N; i++)
{
ll atual = 0;
const auto &s = dnas[i];
for (int j = 0; s[j]; j++)
atual += freqTot[j] - freq[j][s[j]-'A'];
if (atual == (K * (soma - v[i]))) {cout << i+1 << '\n'; return 0;}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |