mickypinata

SMMR-T157: Dunning-Kruger Effect

Jul 5th, 2020 (edited)
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main(){
  6.  
  7.     int n;
  8.     scanf("%d", &n);
  9.     vector<int> num(n + 1, 0);
  10.     for(int i = 1; i <= n; ++i){
  11.         scanf("%d", &num[i]);
  12.     }
  13.  
  14.     vector<int> left(n + 1, 0);
  15.     for(int i = 1; i <= n; ++i){
  16.         int mx = 0;
  17.         for(int j = 1; j < i; ++j){
  18.             if(num[j] > num[i]){
  19.                 mx = max(mx, left[j]);
  20.             }
  21.         }
  22.         left[i] = mx + 1;
  23.     }
  24.  
  25.     vector<int> right(n + 1, 0);
  26.     for(int i = n; i >= 1; --i){
  27.         int mx = 0;
  28.         for(int j = n; j > i; --j){
  29.             if(num[j] > num[i]){
  30.                 mx = max(mx, right[j]);
  31.             }
  32.         }
  33.         right[i] = mx + 1;
  34.     }
  35.  
  36.     int mx = 0;
  37.     for(int i = 1; i <= n; ++i){
  38.         mx = max(mx, left[i] + right[i] - 1);
  39.     }
  40.  
  41.     cout << mx;
  42.  
  43.     return 0;
  44. }
Add Comment
Please, Sign In to add comment