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 |
|
|
|
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 |