1 条题解
-
1
#include<bits/stdc++.h> using namespace std; #define int long long const int N=2e5+10; struct nd{int id,a,c;}d[N]; int top,q[N]; signed main() { int n;scanf("%lld",&n); for(int i=1;i<=n;i++) { scanf("%lld%lld",&d[i].a,&d[i].c); d[i].id=i; } sort(d+1,d+n+1,[](nd n1,nd n2){return n1.a<n2.a;}); for(int i=1;i<=n;i++) { while(top&&d[q[top]].c>d[i].c)top--; q[++top]=i; } for(int i=1;i<=top;i++)q[i]=d[q[i]].id; sort(q+1,q+top+1); printf("%lld\n",top); for(int i=1;i<=top;i++)printf("%lld ",q[i]); return 0; }
- 1
信息
- ID
- 1594
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 7
- 标签
- 递交数
- 20
- 已通过
- 8
- 上传者