- 取石子
第四题
- 2025-10-3 20:37:25 @
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct plank{
int s,e;
}a[10010];
bool cmp(plank x,plank y){
return x.s<y.s||x.s==y.s&&x.e<y.e;
}
signed main(){
int n,l;
cin>>n>>l;
for(int i=1;i<=n;i++){
cin>>a[i].s>>a[i].e;
}
sort(a+1,a+n+1,cmp);
int pos=0,cnt=0;
for(int i=1;i<=n;i++){
if(pos>=a[i].e){
continue;
}
a[i].s=max(a[i].s,pos);
int k=(a[i].e-a[i].s+l-1)/l;
cnt+=k;
pos=a[i].s+k*l;
}
cout<<cnt;
return 0;
}
铺木板(plank)
0 条评论
目前还没有评论...
信息
- ID
- 116
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 56
- 已通过
- 9
- 上传者