Submission #529531

# Submission time Handle Problem Language Result Execution time Memory
529531 2022-02-23T06:04:32 Z zxcvbnm trapezoid (balkan11_trapezoid) C++14
4 / 100
51 ms 2652 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<array<int, 4>> a(n);
    for(auto& i : a) {
        for(auto& j : i) {
            cin >> j;
        }
    }

    auto cmp = [](const auto& l, const auto& r) {
        return r[0] > l[1] && r[2] > l[3];
    };

    auto ok = [&](int i, int j) {
        return a[j][0] > a[i][1] && a[j][2] > a[i][3];
    };

    sort(a.begin(), a.end(), cmp);
//    for(auto& i : a) {
//        for(auto& j : i) {
//            cout << j << " ";
//        }
//        cout << "\n";
//    }

//    bool can[n][n];
//    memset(can, false, sizeof can);
//
//    for(int i = 0; i < n; i++) {
//        for(int j = i+1; j < n; j++) {
//            can[i][j] = can[j][i] = ok(i, j);
//        }
//    }

    vector<int> dp(n, 1);
    vector<int> mx(n, 1);
    for(int i = 0; i < n; i++) {
        int l = 0, r = i-1, ans = -1;
        while(l <= r) {
            int mid = (l + r) / 2;
            if (ok(mid, i)) {
                ans = mid;
                l = mid + 1;
            }
            else {
                r = mid - 1;
            }
        }

        if (ans == -1) continue;
        dp[i] = dp[i] + mx[ans];
        mx[i] = max(mx[i-1], dp[i]);
    }

    cout << mx[n-1] << " " << mx[n-1] << "\n";
    return 0;
}
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 204 KB Partially correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Incorrect 1 ms 204 KB Output isn't correct
4 Incorrect 1 ms 332 KB Output isn't correct
5 Incorrect 1 ms 332 KB Output isn't correct
6 Incorrect 2 ms 332 KB Output isn't correct
7 Incorrect 2 ms 332 KB Output isn't correct
8 Incorrect 2 ms 332 KB Output isn't correct
9 Incorrect 4 ms 460 KB Output isn't correct
10 Incorrect 8 ms 716 KB Output isn't correct
11 Partially correct 14 ms 840 KB Partially correct
12 Incorrect 21 ms 1472 KB Output isn't correct
13 Incorrect 26 ms 1648 KB Output isn't correct
14 Incorrect 31 ms 1936 KB Output isn't correct
15 Incorrect 32 ms 2008 KB Output isn't correct
16 Incorrect 32 ms 2088 KB Output isn't correct
17 Incorrect 33 ms 2288 KB Output isn't correct
18 Incorrect 35 ms 2368 KB Output isn't correct
19 Incorrect 38 ms 2448 KB Output isn't correct
20 Incorrect 51 ms 2652 KB Output isn't correct