社区讨论
求助一段代码
学术版参与者 6已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 12 条
- 当前快照
- 1 份
- 快照标识符
- @lo2g1dzh
- 此快照首次捕获于
- 2023/10/23 13:14 2 年前
- 此快照最后确认于
- 2023/10/23 13:14 2 年前
如下代码大数据(无数组越界)会输出负数,但是我对浮点数不是很了解,大佬们可以看一看吗/kel
CPP#include<bits/stdc++.h>
using namespace std;
#define db long double
db dp[10001];
int n,m,i,j,k,s;
struct evs
{
int h,v;
} a[10001];
bool cmp(evs a,evs b)
{
if(a.h==b.h)return a.v>b.v;
return a.h<b.h;
}
db getans(int x,int y,db z)
{
db t=z/2;
if(x-y<t)return z;
return x-y+t;
}
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d%d",&a[i].h,&a[i].v);
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++) dp[i]=a[i].h;
for(i=2;i<=n;i++)
for(j=1;j<i;j++)
if(a[i].v<=a[j].v)dp[i]=min(dp[i],getans(a[i].h,a[j].h,dp[j]));
printf("%.0Lf",ceil(dp[n]));
return 0;
}
回复
共 12 条回复,欢迎继续交流。
正在加载回复...