Submission #515721

#TimeUsernameProblemLanguageResultExecution timeMemory
515721_Monkey_Financial Report (JOI21_financial)C++17
0 / 100
40 ms1468 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,res; /////// SUB 4 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; } /////// SUB 1 void quaylui(int id,int maxi,int sum,int kc){ if(kc>=d) return; if(id==n+1){ amax(ans,sum); return; } quaylui( id+1 , max(maxi,a[id]) , sum + (a[id]>maxi) , 0 ); quaylui( id+1 , maxi , sum , kc + (sum>0) ); } void sub1(){ ans = 0; quaylui(1,-1,0,0); cout << ans; } /////// SUB 5 void sub5(){ vector<int> d(1,-1); for(int i=1;i<n;++i){ if( a[i]>d.back() ){ d.push_back(a[i]); } else { res = lower_bound( d.begin() , d.end() , a[i] ) - d.begin(); d[res] = a[i]; } } if( a[n]>d.back() ){ ans = d.size(); } else { ans = lower_bound( d.begin() , d.end() , a[n] ) - d.begin(); } 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; // } // sub 5 if(d==n){ sub5(); 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:35: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...