이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
// Source: https://oj.uz/problem/view/POI11_rot
// State: Writing...
#include <bits/stdc++.h>
using namespace std;
int ans = 0;
set <int> solve(){
int x;
set<int> s1,s2;
cin >> x;
if (x != 0){
s1.insert(x);
return s1;
}
s1 = solve();
s2 = solve();
if (s1.size() < s2.size()) swap(s1,s2);
auto i1 = s1.begin(), i2 = s2.begin();
int count = 0,nghich = 0;
while (i2 != s2.end()){
while (*i1 < *i2 && i1 != s1.end()){
i1++;
count++;
}
nghich = nghich + count;
i2++;
}
ans = ans + min(nghich,(int)s1.size()*(int)s2.size() - nghich);
//cout << ans << endl;
for (int v : s2){
s1.insert(v);
}
return s1;
}
int main() {
int n;
cin >> n;
solve();
cout << ans;
}
| # | 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... |
| # | 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... |