Submission #515709

#TimeUsernameProblemLanguageResultExecution timeMemory
515709_Monkey_Financial Report (JOI21_financial)C++17
12 / 100
34 ms3700 KiB
// Song Đồng Gia Phúc

/*
 *      ʕ•ᴥ•ʔ
 *  [Penguin_024]
 *       U U
 */

#include<bits/stdc++.h>
using namespace std;

#define el '\n'
#define ll long long
#define ull unsigned long long
#define vll vector<ll>
#define double double
#define fi first
#define se second
#define cico(A) freopen(A".INP","r",stdin); freopen(A".OUT","w",stdout);
template<typename x,typename y> void amin(x &a,y b){if(b<a) a=b;}
template<typename x,typename y> void amax(x &a,y b){if(b>a) a=b;}
const int maxn=3e5+7,maxq=19*1e4+7;
const string yes="YES\n",no="NO\n";

int n,d,a[maxn];
int ans;

void sub4(){
    vector<int> f;
    ans = 0;
    for(int i=n;i>0;--i){
        while( !f.empty() && a[i]>=f.back() ) f.pop_back();
        f.push_back(a[i]);
        amax( ans , f.size() );
    }
    cout << ans;
}

void quaylui(int id,int maxi,int sum){
    if(id==n+1){
        amax(ans,sum);
        return;
    }
    quaylui( id+1 , max(maxi,a[id]) , sum + (a[id]>maxi) );
    quaylui( id+1 , maxi , sum );
}

void sub1(){
    ans = 0;
    quaylui(1,-1,0);
    cout << ans;
}

signed main(){
    ios_base::sync_with_stdio(0);cin.tie(0);

    cin >> n >> d;
    for(int i=1;i<=n;++i){
        cin >> a[i];
    }

    // sub 4
    if(d==1){
        sub4();
        return 0;
    }

    // sub 1
    if(n<=20){
        sub1();
        return 0;
    }

    return 0;
}

Compilation message (stderr)

Main.cpp: In instantiation of 'void amax(x&, y) [with x = int; y = long unsigned int]':
Main.cpp:34:30:   required from here
Main.cpp:21:57: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
   21 | template<typename x,typename y> void amax(x &a,y b){if(b>a) a=b;}
      |                                                        ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...