QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#302940 | #7953. Product Delivery | OOBMABTRAMS# | WA | 0ms | 5800kb | C++17 | 987b | 2024-01-11 15:48:44 | 2024-01-11 15:48:45 |
Judging History
answer
#import"bits/stdc++.h"
using namespace std;
typedef long long ll;
void solve();
int main(){
ios::sync_with_stdio(false);
int T=1;
// cin>>T;
while(T--)solve();
}
const int N=500013;
vector<int>li;
int tr[N+N];
void add(int x,int v){
for(;x<N;x+=x&-x)tr[x]=max(tr[x],v);
}
int qry(int x){int rs=0;
for(;x;x-=x&-x)rs=max(rs,tr[x]);
return rs;
}
int get(int x){
return std::lower_bound(li.begin(), li.end(), x)-li.begin()+1;
}
int l[N],r[N];
void solve(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>l[i]>>r[i],l[i]=1e9+1-l[i],r[i]=1e9+1-r[i];
for(int i=1;i<=n;i++)li.push_back(l[i]),li.push_back(r[i]);
std::sort(li.begin(), li.end());
li.resize(std::unique(li.begin(), li.end())-li.begin());
for(int i=1;i<=n;i++)l[i]=get(l[i]),r[i]=get(r[i]);
int ans=0;
for(int i=1;i<=n;i++){
int v= qry(l[i]-1);
add(r[i],v+1);
ans=max(v+1,ans);
}
cout<<ans<<'\n';
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 5800kb
input:
4 13 15 5 8 6 14 3 7
output:
4
result:
wrong answer 1st lines differ - expected: '2', found: '4'