Submission #910933

# Submission time Handle Problem Language Result Execution time Memory
910933 2024-01-18T09:49:46 Z vjudge1 Financial Report (JOI21_financial) C++17
5 / 100
65 ms 8664 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ld long double
#define ull unsigned long long
#define pii pair<int,int>
#define pll pair<long long, long long>
#define fi first
#define se second
#define all(a) (a).begin(), (a).end()
#define pb push_back

#define TASKNAME "NAME"

void init()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    ///freopen(TASKNAME".INP","r",stdin); freopen(TASKNAME".OUT","w",stdout);
}

const int SZ = 1e6+5;
const ll INF = INT_MAX / 2, MOD = 1e9+7, INFLL = 2e18;
const double epsilon = 1e-3;

int n,d;
pii a[SZ];

struct FenwickTree
{
    int nodes[SZ];

    void update(int pos, int val)
    {
        while(pos <= n)
        {
            nodes[pos] = max(nodes[pos], val);
            pos += pos & (-pos);
        }
    }

    int query(int pos)
    {
        int res = 0;
        while(pos > 0)
        {
            res = max(res, nodes[pos]);
            pos -= pos & (-pos);
        }
        return res;
    }
} ft;

int res = 0;

int main()
{
    init();
    cin >> n >> d;
    if(n != d) return 0;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i].fi;
        a[i].se = -i;
    }
    sort(a + 1, a + n + 1);
    for(int i = 1; i <= n; i++)
    {
        int mx = ft.query(-a[i].se - 1);
        ft.update(-a[i].se, mx + 1);
        res = max(res, mx + 1);
    }
    cout << res;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 44 ms 5588 KB Output is correct
2 Correct 61 ms 8528 KB Output is correct
3 Correct 62 ms 8536 KB Output is correct
4 Correct 65 ms 8664 KB Output is correct
5 Correct 57 ms 8384 KB Output is correct
6 Correct 64 ms 8476 KB Output is correct
7 Correct 37 ms 8532 KB Output is correct
8 Correct 35 ms 8648 KB Output is correct
9 Correct 42 ms 8464 KB Output is correct
10 Correct 52 ms 8528 KB Output is correct
11 Correct 62 ms 8480 KB Output is correct
12 Correct 51 ms 8408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -