Submission #63826514


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef vector<long long> vll;
typedef vector<vector<long long>> vvll;
typedef pair<int, int> pii;
typedef pair<long long, long long> pll;
typedef set<int> si;
typedef set<long long> sll;

const ll MOD = 998244353;
const ld EPS = 1e-12;

#define endl "\n"
#define sp <<" "<<
#define forn(i, n) for(ll i = 0; i < n; i++)
#define rforn(i, n) for(ll i = n; i >= 0; i--)
#define dbg(x) cout << #x << " = " << x << endl
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define INF 1e18
#define fast_io() ios_base::sync_with_stdio(false); cin.tie(NULL)
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) ((ll)(x).size())

struct segtree {
    int l, r;
    ll sum;
    unordered_set<int> s;
    segtree *left, *right;

    inline void merge() {
        for (int x : left->s) s.insert(x);
        for (int x : right->s) s.insert(x);
        sum = s.size();
    }

    segtree(int l, int r, vector<int> &data) : l(l), r(r) {
        left = right = nullptr;
        sum = 0;
        if (l == r) {
            sum = 1;
            s.insert(data[l]);
            return;
        }

        int m = (l + r) / 2;
        left = new segtree(l, m, data);
        right = new segtree(m + 1, r, data);
        merge();
    }

    ll query(int ql, int qr) {
        if (ql > r || qr < l) return 0;

        if (ql <= l && r <= qr) return sum;

        return left->query(ql, qr) + right->query(ql, qr);
    }
};

void solution() {
    int n; cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) cin >> a[i];

    segtree st(0, n-1, a);

    ll ans = st.query(0, n-1);
    // cerr << ans << endl;
    for (int i = 0; i <= n-1; i++) {
        ans = max(ans, st.query(0, i) + st.query(i+1, n-1));
    }

    cout << ans << endl;
    
    return;
}

signed main() {
    fast_io();

    solution();

    return 0;
}

Submission Info

Submission Time
Task F - Variety Split Hard
User countless
Language C++ 20 (gcc 12.2)
Score 0
Code Size 2117 Byte
Status WA
Exec Time 450 ms
Memory 353504 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 550
Status
AC × 2
AC × 10
WA × 34
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3588 KiB
00_sample_01.txt AC 1 ms 3516 KiB
01_test_00.txt WA 1 ms 3828 KiB
01_test_01.txt WA 1 ms 3620 KiB
01_test_02.txt WA 2 ms 4132 KiB
01_test_03.txt WA 1 ms 3952 KiB
01_test_04.txt WA 1 ms 3784 KiB
01_test_05.txt WA 103 ms 86788 KiB
01_test_06.txt WA 444 ms 346300 KiB
01_test_07.txt WA 281 ms 223140 KiB
01_test_08.txt WA 445 ms 346288 KiB
01_test_09.txt WA 282 ms 225760 KiB
01_test_10.txt WA 444 ms 346240 KiB
01_test_11.txt WA 128 ms 105904 KiB
01_test_12.txt WA 445 ms 346296 KiB
01_test_13.txt WA 366 ms 286836 KiB
01_test_14.txt WA 444 ms 346500 KiB
01_test_15.txt WA 402 ms 324044 KiB
01_test_16.txt WA 199 ms 178616 KiB
01_test_17.txt WA 421 ms 334092 KiB
01_test_18.txt WA 243 ms 211132 KiB
01_test_19.txt WA 430 ms 338932 KiB
01_test_20.txt WA 269 ms 232692 KiB
01_test_21.txt WA 433 ms 341276 KiB
01_test_22.txt WA 289 ms 252088 KiB
01_test_23.txt WA 444 ms 345916 KiB
01_test_24.txt WA 312 ms 272024 KiB
01_test_25.txt WA 149 ms 144980 KiB
01_test_26.txt WA 153 ms 144832 KiB
01_test_27.txt WA 153 ms 144824 KiB
01_test_28.txt WA 153 ms 144840 KiB
01_test_29.txt WA 153 ms 144840 KiB
01_test_30.txt WA 154 ms 144844 KiB
01_test_31.txt AC 348 ms 353504 KiB
01_test_32.txt AC 450 ms 353452 KiB
01_test_33.txt AC 1 ms 3436 KiB
01_test_34.txt AC 1 ms 3452 KiB
01_test_35.txt WA 321 ms 279572 KiB
01_test_36.txt WA 175 ms 166940 KiB
01_test_37.txt WA 162 ms 152656 KiB
01_test_38.txt AC 350 ms 353404 KiB
01_test_39.txt AC 353 ms 353444 KiB
01_test_40.txt AC 350 ms 353400 KiB
01_test_41.txt AC 348 ms 353384 KiB