Skip to content

Commit 921bd0c

Browse files
committed
atcoder/abc077C (feedback from editorial)
1 parent 55f284b commit 921bd0c

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

atcoder/abc077/C/main.cpp

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,13 @@ int main() {
1919
sort(B.begin(), B.end());
2020
sort(C.begin(), C.end());
2121

22-
vector<ll> DP(N, 0);
23-
for (int i = 0; i < N; ++i) {
24-
auto it = lower_bound(A.begin(), A.end(), B[i]);
25-
int s = distance(A.begin(), it);
26-
DP[i] = s;
27-
}
28-
for (int i = 1; i < N; ++i) {
29-
DP[i] += DP[i-1];
30-
}
3122
ll ans = 0;
32-
for (auto c : C) {
33-
auto it = lower_bound(B.begin(), B.end(), c);
34-
int s = distance(B.begin(), it);
35-
if (s > 0) {
36-
ans += DP[s-1];
37-
}
23+
for (int i = 0; i < N; ++i) {
24+
auto ita = lower_bound(A.begin(), A.end(), B[i]);
25+
int sa = distance(A.begin(), ita);
26+
auto itb = upper_bound(C.begin(), C.end(), B[i]);
27+
int sb = distance(itb, C.end());
28+
ans += ll(sa) * sb;
3829
}
3930
cout << ans << endl;
4031

0 commit comments

Comments
 (0)