#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const double PI = acos(-1);
int main()
{
int n,k;
cin>>n>>k;
double ans = 0;
vector<double>vec;
for(int i=1;i<=n;i++)
{
ll x,y,r;
cin>>x>>y>>r;
double dis = x*x+y*y;
double dis2 = r*r;
if(dis2>dis)
{
vec.push_back((sqrtl(dis2)-sqrtl(dis))*PI*r*r);
}
}
sort(vec.begin(),vec.end());
for(int i=0;i<vec.size()-k;i++)ans+=vec[i];
printf("%.10lf\n",ans);
return 0;
}
简单排序贪心即可

京公网安备 11010502036488号