제출 #920151

#제출 시각아이디문제언어결과실행 시간메모리
920151Faisal_SaqibGlobal Warming (CEOI18_glo)C++17
100 / 100
57 ms10188 KiB
#include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; const int N=2e5+100; int n,x; long long dp[N],val[N],cpy[N]; pair<int,long long> revert[N]; void GTA6() { for(int i=0;i<=n;i++) { val[i]=-3e9; dp[i]=3e9; } val[0]=3e9; dp[0]=-3e9; for(int i=n-1;i>=0;i--) { cpy[i]=-cpy[i]; int xc=lower_bound(dp,dp+n+1,cpy[i])-dp; revert[i]={xc,val[xc]}; val[xc]=max(-cpy[i],val[xc]); dp[xc]=cpy[i]; cpy[i]=-cpy[i]; } } int main() { cin.tie(NULL); cout.tie(NULL); ios::sync_with_stdio(false); cin>>n>>x; for(int i=0;i<n;i++) cin>>cpy[i]; int ans=0; int final=0; GTA6(); for(int i=0;i<=n;i++) dp[i]=3e9; dp[0]=-3e9; int _1_=0; for(int i=0;i<n;i++) { cpy[i]-=x; int xc=lower_bound(dp,dp+n+1,cpy[i])-dp; dp[xc]=cpy[i]; val[revert[i].first]=revert[i].second; int s=0; int e=n+1; while(s+1<e) { int mid=(s+e)/2; if(val[mid]>(cpy[i])) s=mid; else e=mid; } final=max(final,xc+s); } cout<<final<<'\n'; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

glo.cpp: In function 'int main()':
glo.cpp:37:6: warning: unused variable 'ans' [-Wunused-variable]
   37 |  int ans=0;
      |      ^~~
glo.cpp:43:6: warning: unused variable '_1_' [-Wunused-variable]
   43 |  int _1_=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...