题目意思在0,0点开始想要找到 大于1e6 的最小的最大半径
【codeforces|Megacity】如果找不到输出-1
#include"bits/stdc++.h"
#define ll long long
#define pi pair
#define inf 0x3f3f3f3f
#define_for(i,a,b) for(int i=a;
i<=b;
i++)
#definefor_(i,a,b) for(int i=a;
imp;
struct node{
int x;
double y;
}a[N];
bool cmp(node s1,node s2){
if(s1.y != s2.y) return s1.ys2.x;
}
void solve(){
int n,m;
cin >> n >> m;
for_(i,0,n){
int xx,yy;
cin >> xx >> yy >> a[i].x;
a[i].y= sqrt(xx*xx+yy*yy);
}
sort(a,a+n,cmp);
bool f=true;
double ans = 0;
for_(i,0,n){
m+=a[i].x;
if(m>=1000000){
f= false;
ans = a[i].y;
break;
}
}
if(f) cout << -1 << endl;
else printf("%.7f\n",ans);
}
int main(){
IOS;
solve();
return 0;
}
推荐阅读
- 模板|博弈基本介绍
- codeforces|Educational Codeforces Round 118 (Rated for Div. 2)
- ACM专题学习|Mayor‘s posters--线段树(区间修改)+离散化
- ACM专题学习|青蛙的约会--扩展欧几里得
- ACM专题学习|地毯--二维差分
- ACM专题学习|Buy Tickets--线段树(单点修改)
- 蓝桥杯|蓝桥杯——1.2递归实现排列型枚举
- C++|【C++】实现简单的计算功能
- Codeforces|Fault-tolerant Network(连通块/贪心)