# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1260269 | tminh | Mountains (NOI20_mountains) | C++20 | 82 ms | 3616 KiB |
#include "bits/stdc++.h"
using namespace std;
#define task ""
#define ll long long
#define endl '\n'
#define fi first
#define se second
#define vall(a) (a).begin(), (a).end()
#define sze(a) (int)a.size()
#define pii pair<int, int>
#define pll pair<ll, ll>
#define ep emplace_back
#define pb push_back
#define pf push_front
const ll mod = 1e9 + 7;
const int N = 1e6 + 5;
const ll oo = 1e18;
bool START;
int n, a[N], m;
vector<int> arr;
struct BIT {
int bit[N];
void add(int idx, int delta) {
for (; idx <= m; idx += idx & -idx) bit[idx] += delta;
}
int get(int idx) {
int res = 0;
for (; idx > 0; idx -= idx & -idx) res += bit[idx];
return res;
}
} bit0, bit1;
inline void solve() {
sort(vall(arr));
arr.erase(unique(vall(arr)), arr.end());
m = sze(arr);
for (int i = 1; i <= n; ++i) {
a[i] = lower_bound(vall(arr), a[i]) - arr.begin() + 1;
bit0.add(a[i], 1);
}
ll ans = 0;
for (int i = 1; i <= n; ++i) {
bit0.add(a[i], -1);
ans += 1ll * bit0.get(a[i] - 1) * bit1.get(a[i] - 1);
bit1.add(a[i], 1);
}
cout << ans;
}
inline void input() {
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> a[i];
arr.pb(a[i]);
}
return solve();
}
bool END;
int main() {
if(fopen(task ".inp", "r")) {
freopen(task ".inp", "r", stdin);
freopen(task ".out", "w", stdout);
}
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
input();
cerr << endl << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << 's' << endl;
cerr << "Memory: " << fabs ((&END - &START)) / 1048576.0 << "MB\n";
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |