Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
35468 | 陈柏诚 | 友好城市 | C++ | 通过 | 100 | 2 MS | 312 KB | 571 | 2021-12-15 13:57:41 |
#include<bits/stdc++.h> using namespace std; struct city { int north; int south; }; city a[60001]; int n,i,d[60001],len,temp; bool cmp(city x,city y) { return x.north<y.north; } int main() { int x,y; cin>>x>>y; cin>>n; for(i=1; i<=n; i++) { cin>>a[i].north>>a[i].south; } sort(a+1,a+1+n,cmp); d[++len]=a[1].south; for(i=2; i<=n; i++) { int cityissb=upper_bound(d+1,d+len+1,a[i].south)-d; d[cityissb]=a[i].south; if(cityissb>len) { len++; } } cout<<len<<'\n'; return 0; }