QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#733892#9540. Double 11forget-starWA 1ms8052kbC++201.1kb2024-11-10 21:52:322024-11-10 21:52:32

Judging History

你现在查看的是最新测评结果

  • [2024-11-10 21:52:32]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:8052kb
  • [2024-11-10 21:52:32]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
#define fr(i,a,b) for(int i(a),end##i(b);i<=end##i;i++)
#define fd(i,a,b) for(int i(a),end##i(b);i>=end##i;i--)
#define de fprintf(stderr,"on-%d\n",__LINE__)
using namespace std;
const int maxn=2e5+5;
int a[maxn];
int n,m;
double f[maxn];
int s[maxn];
int fa[maxn];
int find(int x){
	if(fa[x]==x)return x;
	return fa[x]=find(fa[x]);
}
double S[maxn];
double w(int x,int y){
	return sqrt(1.*(s[y]-s[x])*(y-x));
}
struct node{
	int x,l,r;
};
deque<node> Q;
int d[maxn];
int pre[maxn];
const double eps=1e-9;
int solve(double del){
	fr(i,1,n){
		f[i]=10000;
		fr(j,0,i-1)if(f[i]>f[j]+w(j,i)+del){
			f[i]=f[j]+w(j,i)+del;
			pre[i]=j;
			d[i]=d[j]+1;
		}
	}
	return d[n]; 
}
signed main(){
#ifdef pig
	freopen("pig.in","r",stdin);
	freopen("bf.out","w",stdout);	
#endif
	cin>>n>>m;
	fr(i,1,n)scanf("%lld",&a[i]);
	sort(a+1,a+n+1);
	fr(i,1,n)s[i]=s[i-1]+a[i];
	double l=0,r=1e9;
	fr(T,1,50){
		double mid=(l+r)/2;
		int t=solve(mid);
		if(t<m)r=mid;
		else l=mid;
	}
	printf("%.12lf\n",f[n]-l*m);
	return 0;
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 8052kb

input:

4 2
1 2 3 4

output:

6.191148257163

result:

wrong answer 1st numbers differ - expected: '6.1911471', found: '6.1911483', error = '0.0000002'