Submission #1244483


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<b;i++)


vector<int> dp, id;
vector<int> LIS(vector<int>& v) {
    int i; int n = v.size();
    dp.resize(n, INT_MAX / 2);
    id.resize(n, 0);
    rep(i, 0, v.size()) {
        id[i] = lower_bound(dp.begin(), dp.end(), v[i]) - dp.begin();
        dp[id[i]] = v[i];
    }
    int nl = *max_element(id.begin(), id.end());
    vector<int> ret(nl + 1);
    rep(i, 0, n) if (id[n - 1 - i] == nl) ret[nl--] = v[n - 1 - i];
    return ret;
}
//-----------------------------------------------------------------------------------
int N, h[101010], w[101010];
int ord[101010];
int main() {
    cin >> N;
    rep(i, 0, N) scanf("%d%d", &h[i], &w[i]);

    rep(i, 0, N) ord[i] = i;
    sort(ord, ord + N, [&](int a, int b) {
        if (h[a] != h[b]) return h[a] < h[b];
        else return w[a] > w[b];
    });

    vector<int> v;
    rep(_i, 0, N) {
        int i = ord[_i];
        v.push_back(w[i]);
    }
    cout << LIS(v).size() << endl;
}

Submission Info

Submission Time
Task D - プレゼント
User hamayanhamayan
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1051 Byte
Status AC
Exec Time 35 ms
Memory 3064 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:25:45: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     rep(i, 0, N) scanf("%d%d", &h[i], &w[i]);
                                             ^

Judge Result

Set Name Sample Subtask0 All
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 4
AC × 19
AC × 34
Set Name Test Cases
Sample sample0.txt, sample1.txt, sample2.txt, sample3.txt
Subtask0 subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt, sample3.txt
All sample0.txt, sample1.txt, sample2.txt, sample3.txt, subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
sample0.txt AC 1 ms 256 KB
sample1.txt AC 1 ms 256 KB
sample2.txt AC 1 ms 256 KB
sample3.txt AC 1 ms 256 KB
subtask0_0.txt AC 1 ms 256 KB
subtask0_1.txt AC 1 ms 256 KB
subtask0_10.txt AC 1 ms 256 KB
subtask0_11.txt AC 1 ms 256 KB
subtask0_12.txt AC 1 ms 256 KB
subtask0_13.txt AC 1 ms 256 KB
subtask0_14.txt AC 1 ms 256 KB
subtask0_2.txt AC 3 ms 384 KB
subtask0_3.txt AC 1 ms 256 KB
subtask0_4.txt AC 1 ms 256 KB
subtask0_5.txt AC 1 ms 256 KB
subtask0_6.txt AC 1 ms 256 KB
subtask0_7.txt AC 1 ms 256 KB
subtask0_8.txt AC 1 ms 256 KB
subtask0_9.txt AC 1 ms 256 KB
subtask1_0.txt AC 21 ms 1788 KB
subtask1_1.txt AC 2 ms 256 KB
subtask1_10.txt AC 26 ms 3064 KB
subtask1_11.txt AC 22 ms 2680 KB
subtask1_12.txt AC 35 ms 2680 KB
subtask1_13.txt AC 35 ms 2680 KB
subtask1_14.txt AC 35 ms 2680 KB
subtask1_2.txt AC 6 ms 640 KB
subtask1_3.txt AC 29 ms 2424 KB
subtask1_4.txt AC 34 ms 2680 KB
subtask1_5.txt AC 5 ms 640 KB
subtask1_6.txt AC 26 ms 2168 KB
subtask1_7.txt AC 14 ms 1276 KB
subtask1_8.txt AC 30 ms 2424 KB
subtask1_9.txt AC 15 ms 1404 KB