제출 #1359737

#제출 시각아이디문제언어결과실행 시간메모리
1359737nathako9nZoltan (COCI16_zoltan)C++20
0 / 140
1095 ms440 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=25; 
const ll mod=1e9+7;
int n,ar[N+3];
ll ans=0,cnt=0;
deque<int>dq;
void sol(int i){
    if(i>n){
        vector<int>vec;
        for(auto x:dq){
            if(vec.empty()){
                vec.emplace_back(x);    
            }
            else{
                int it=lower_bound(vec.begin(),vec.end(),x)-vec.begin();
                if(it==vec.size())vec.emplace_back(x);
                else vec[it]=x;
            }

        }
        if(vec.size()>ans){
            ans=vec.size();           
            cnt=1;
        }
        else if(vec.size()==ans){              
              cnt=(cnt+1)%mod;             
        }
        return;
    }
    dq.push_front(ar[i]);
    sol(i+1);
    dq.pop_front();
    dq.push_back(ar[i]);
    sol(i+1);
    dq.pop_back();

}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>ar[i];
    }

    sol(1);
    cout<<ans<<" "<<cnt;
    return 0;
}
/*



*/
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…