제출 #169992

#제출 시각아이디문제언어결과실행 시간메모리
169992mhy908Global Warming (CEOI18_glo)C++14
62 / 100
78 ms7144 KiB
#include <bits/stdc++.h> #define pb push_back #define mp make_pair #define F first #define S second using namespace std; typedef long long LL; typedef pair<int, int> pii; typedef pair<LL, LL> pll; const LL llinf=9000000000000000000; const int inf=2000000000; int n; LL x, arr[200010]; vector<LL> lis, lds; int dplis[200010], dplds[200010], ans; LL minlds[200010]; int main() { scanf("%d %lld", &n, &x); for(int i=1; i<=n; i++)scanf("%lld", &arr[i]); for(int i=n; i>=1; i--){ auto it=lower_bound(lds.begin(), lds.end(), -arr[i]); if(it==lds.end())lds.pb(-arr[i]); else *it=min(-arr[i], *it); dplds[i]=lds.size(); minlds[i]=-lds[dplds[i]-1]; } minlds[n+1]=llinf; for(int i=1; i<=n; i++){ auto it=lower_bound(lis.begin(), lis.end(), arr[i]); if(it==lis.end())lis.pb(arr[i]); else *it=min(arr[i], *it); dplis[i]=lower_bound(lis.begin(), lis.end(), minlds[i+1]+x)-lis.begin(); } ans=dplds[1]; for(int i=1; i<n; i++){ ans=max(ans, dplis[i]+dplds[i+1]); } printf("%d", ans); }

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

glo.cpp: In function 'int main()':
glo.cpp:19:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %lld", &n, &x);
     ~~~~~^~~~~~~~~~~~~~~~~~~
glo.cpp:20:33: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=1; i<=n; i++)scanf("%lld", &arr[i]);
                            ~~~~~^~~~~~~~~~~~~~~~~
#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...