제출 #442936

#제출 시각아이디문제언어결과실행 시간메모리
442936FocutaiGlobal Warming (CEOI18_glo)C++17
28 / 100
2091 ms4556 KiB
#include<bits/stdc++.h> using namespace std; #define pb push_back #define eb emplace_back #define mp make_pair #define Fast_IO ios::sync_with_stdio(false); #define DEBUG fprintf(stderr,"Running on Line %d in Function %s\n",__LINE__,__FUNCTION__) //mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); #define fir first #define sec second #define mod 998244353 #define ll long long #define inf 0x3f3f3f3f #define INF 0x3f3f3f3f3f3f3f3f inline int read() { char ch=getchar(); int nega=1; while(!isdigit(ch)) {if(ch=='-') nega=-1; ch=getchar();} int ans=0; while(isdigit(ch)) {ans=ans*10+ch-48;ch=getchar();} if(nega==-1) return -ans; return ans; } typedef pair<int,int> pii; void print(vector<int> x){for(int i=0;i<(int)x.size();i++) printf("%d%c",x[i]," \n"[i==(int)x.size()-1]);} #define N 200005 int a[N],n,d,b[N],f[N]; int get() { for(int i=1;i<=n;i++) f[i]=1; for(int i=1;i<=n;i++) { for(int j=1;j<i;j++) if(b[i]>b[j]) f[i]=max(f[i],f[j]+1); } int ans=0; for(int i=1;i<=n;i++) ans=max(ans,f[i]); // for(int i=1;i<=n;i++) printf("%d%c",b[i]," \n"[i==n]); // cout<<ans<<endl; return ans; } signed main() { cin>>n>>d; for(int i=1;i<=n;i++) a[i]=read(); int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<i;j++) b[j]=a[j]; for(int j=i;j<=n;j++) b[j]=a[j]+d; ans=max(ans,get()); } cout<<ans<<endl; return 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...