Submission #1055303

#TimeUsernameProblemLanguageResultExecution timeMemory
1055303YassirSalamaFinancial Report (JOI21_financial)C++17
0 / 100
4037 ms7436 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define F first #define S second signed main(){ int n,d; cin>>n>>d; vector<int> v(n); for(int i=0;i<n;i++){ cin>>v[i]; } map<int,int> dp;//ans if max chosen till v[i] was 1 for(int i=0;i<n;i++){ map<int,int> c=dp; for(auto it=c.begin();it!=c.end();it++){ pair<int,int> x=*it; if(v[i]>x.F){ dp.erase(x.F); dp[v[i]]=max(dp[v[i]],x.S+1); }else break; } dp[v[i]]=max(dp[v[i]],1LL); } int ans=0; for(auto x:dp) ans=max(ans,x.S); cout<<ans<<endl; }
#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...