이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
long long max(long long &a,long long &b) {return a>b?a:b;}
int main() {
long long n,x;cin>>n>>x;
long long a[n];
long long poslis[n];
vector<long long>lis(n,1e18);
vector<vector<long long> >history(n,{(long long)(1e18)});
long long ans=0;
for(int i=0;i<n;i++) {
long long y;cin>>y;
long long pos=lower_bound(lis.begin(),lis.end(),y)-lis.begin();
history[pos].push_back(y);
poslis[i]=pos;
lis[pos]=y;
ans=max(ans,pos+1);
}
vector<long long>revlis(n,1e18);
for(int i=n-1;i>0;i--) {
long long cur=history[poslis[i]].back();
history[poslis[i]].pop_back();
lis[poslis[i]]=history[poslis[i]].back();
cur+=x;
cur=-cur;
long long pos=lower_bound(revlis.begin(),revlis.end(),cur)-revlis.begin();
revlis[pos]=cur;
cur=-cur;
long long pos1=lower_bound(lis.begin(),lis.end(),cur)-lis.begin();
ans=max(ans,pos1+pos+1);
}
cout<<ans<<endl;
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
glo.cpp: In function 'int main()':
glo.cpp:6:15: warning: unused variable 'a' [-Wunused-variable]
6 | long long a[n];
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |