Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
Register

## 为什么WA了，谁能帮我看看。。。

Posted by wangpeiyi9979 at 2019-05-25 00:22:26 on Problem 3111
```#include<stdio.h>
#include<algorithm>
using namespace std;

const int maxN = 100000+5;
const double minl = 0;
const double maxr = 10000000+0.0001;

struct J{
int id;
double b;
bool operator < (const struct J &A) const{
return b > A.b;
}
}jewels[maxN];

int N, K;
bool isOk(){
double ans=0;
for(int i=1; i<=K; i++){
ans += jewels[i].b;
}
return ans >= 0.0;
}
int main(){
int ans[maxN];
double v[maxN], w[maxN];
scanf("%d%d", &N, &K);
for(int i=1; i<=N; i++)
scanf("%lf%lf", &v[i], &w[i]);

double l, r;
l = minl; r = maxr;
while(r-l>=1e-8){
double x = (l + r) * 0.5;
for(int k=1; k<=N; k++){
jewels[k].id = k;
jewels[k].b = v[k] - x * w[k];
}
sort(jewels+1, jewels+1+N);
if(isOk()){
l = x;
for(int i=1; i<=K; i++)
ans[i] = jewels[i].id;
}
else
r = x;
}
for(int i=1; i<=K; i++)
printf("%d ", ans[i]);
printf("\n");

return 0;
}
```

Followed by: