Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1.     #include <iostream>
  2.     #include <algorithm>
  3.     #include <cstdio>
  4.     #include <utility>
  5.     #include <vector>
  6.     #include <set>
  7.     #include <map>
  8.     #include <queue>
  9.     #include <stack>
  10.     #include <string>
  11.     #include <cmath>
  12.     #include <bitset>
  13.     #include <ctime>
  14.     #include <random>
  15.     #include <cstdlib>
  16.     #include <deque>
  17.     #define F first
  18.     #define S second
  19.     #define pb push_back
  20.     #define ll long long
  21.      
  22.     using namespace std;
  23.      
  24.     const int N = 2e5+5, INF = 1e9;
  25.     const bool debug = 0;
  26.      
  27.     int n, a[N], dr[N], dl[N], len, l, r, ans = 1;
  28.     bool is_l[N], is_r[N];
  29.      
  30.     int main(){
  31.         if(debug) freopen("input.txt","r",stdin);
  32.         ios_base::sync_with_stdio(0);
  33.         cin.tie(0); cout.tie(0);
  34.      
  35.         cin >> n >> a[0];
  36.         len = dr[0] = dl[0] = 1;
  37.         a[n] = -228;
  38.         for(int i = 1; i < n; ++i){
  39.             cin >> a[i];
  40.             if(a[i-1]<a[i]) dr[i] = ++len;
  41.             else dr[i] = len = 1;
  42.             dl[i-len+1] = len;
  43.             ans = max(ans,len);
  44.         }
  45.         for(int i = 1; i < n; ++i){
  46.             if(!dl[i]) dl[i] = dl[i-1]-1;
  47.         }
  48.         for(int i = 2; i < n; ++i){
  49.             if(a[i-2]<a[i]) ans = max(dl[i]+dr[i-2],ans);
  50.         }
  51.      
  52.         cout << ans;
  53.      
  54.      
  55.         return 0;
  56.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement