Submission #1322396

#TimeUsernameProblemLanguageResultExecution timeMemory
1322396neonglitchFinancial Report (JOI21_financial)C++20
14 / 100
4094 ms6644 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int N=3e5+10; int a[N],dp[N]; int val[N]; // all zero initially int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,d; cin>>n>>d; vector<pair<int,int>> ord; for(int i=1;i<=n;i++)cin>>a[i],ord.push_back({a[i],i}),dp[i]=1; sort(begin(ord),end(ord)); for(auto [x,i]:ord) { val[i]=1; int mx=0,cu=0; for(int j=i-1;j>=1;j--) { if(val[j]==0) { cu++; } else{ mx=max(mx,cu); if(mx>=d) { break; } if(a[j]<a[i]) { // cout<<"updating "<<i<<' '<<j<<endl; dp[i]=max(dp[i],dp[j]+1); } } } } int ans=0; for(int i=1;i<=n;i++) { ans=max(ans,dp[i]); } 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...