Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int main()
- {
- long long n;
- long long L[1001], a[1001], truoc[1001], ketqua[1001], ans;
- cin >> n;
- for (int i = 1; i <= n; i++)
- cin >> a[i];
- L[0] = 0;
- a[0] = -100000000;
- for (int i = 1; i <= n; i++)
- {
- int j = 0;
- for (int k = 0; k <= i - 1; k++)
- {
- if (a[k] <= a[i] && L[k] > L[j])
- {
- j = k;
- }
- }
- L[i] = L[j] + 1;
- truoc[i] = j;
- }
- ans = 1;
- for (int i = 2; i <= n; i++)
- if (L[i] > L[ans])
- {
- ans = i;
- }
- // for (int i = 1; i <= n; i++)
- // {
- // cout << L[i] << " ";
- // cout << endl;
- // }
- cout << L[ans] << endl;
- long long dem = 0;
- while (truoc[ans] > 0)
- {
- dem++;
- ketqua[dem] = a[ans];
- ans = truoc[ans];
- }
- // for (int i = 1; i <= n; i++)
- // {
- // cout << truoc[i] << " ";
- // cout << endl;
- // }
- dem++;
- ketqua[dem] = ans;
- for (int i = dem; i >= 1; i--)
- cout << ketqua[i] << " ";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement