4 条题解
- 
  0
#include<bits/stdc++.h> #define int long long const int N=1e7+10; using namespace std; int n,num[N],len,ans; struct node{ int begin,end,id; }a[N]; bool cmp(node a1,node a2){ return a1.end<a2.end; } signed main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].begin>>a[i].end; a[i].id=i; } sort(a+1,a+n+1,cmp); int last=a[1].end; ans=a[1].end-a[1].begin+1; num[++len]=a[1].id; for(int i=2;i<=n;i++){ if(a[i].begin>=last){ ans+=a[i].end-a[i].begin+1; num[++len]=a[i].id; last=a[i].end; } } sort(num+1,num+len+1); cout<<ans<<endl; for(int i=1;i<=len;i++){ cout<<num[i]<<" "; } return 0; } 
信息
- ID
 - 1584
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 75
 - 已通过
 - 21
 - 上传者