Submission #23599641
Source Code Expand
#include <bits/stdc++.h>
#define rep(i, n) for (auto i = 0; i < n; ++i)
#define ALL(a) a.begin(), a.end()
using namespace std;
using ll = long long int;
using Graph = vector<vector<int>>;
const int MOD_NUM = 1e9 + 7;
int main() {
// Input
int N;
cin >> N;
vector<int> A(N);
rep(i, N) cin >> A[i];
// Process
map<int, int> a_counts;
vector<int> counts(N);
for (int i = N - 1; i >= 0; i--) {
if (a_counts.find(A[i]) == a_counts.end()) {
a_counts[A[i]] = 0;
} else {
a_counts[A[i]]++;
}
counts[i] = a_counts[A[i]];
}
ll ans = 0;
rep(i, N) ans += N - i - 1 - counts[i];
// Output
cout << ans << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Swappable |
| User | Koreander |
| Language | C++ (GCC 9.2.1) |
| Score | 300 |
| Code Size | 773 Byte |
| Status | AC |
| Exec Time | 224 ms |
| Memory | 19580 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 8 ms | 3512 KiB |
| sample_02.txt | AC | 2 ms | 3528 KiB |
| sample_03.txt | AC | 3 ms | 3428 KiB |
| test_00.txt | AC | 3 ms | 3340 KiB |
| test_01.txt | AC | 3 ms | 3448 KiB |
| test_02.txt | AC | 45 ms | 3496 KiB |
| test_03.txt | AC | 143 ms | 10140 KiB |
| test_04.txt | AC | 73 ms | 4860 KiB |
| test_05.txt | AC | 44 ms | 3756 KiB |
| test_06.txt | AC | 30 ms | 3668 KiB |
| test_07.txt | AC | 224 ms | 19580 KiB |
| test_08.txt | AC | 104 ms | 5436 KiB |
| test_09.txt | AC | 97 ms | 5388 KiB |
| test_10.txt | AC | 135 ms | 5384 KiB |