#include<bits/stdc++.h>
#define yukiyo sb
using namespace std;
int n,m,ans;
const double g=9.8;
struct dan{
int xi,yi,a,v,p;
double xt;
}d[500005];
inline double dis(int y,int v1,int v2){
return (v1-v2)*sqrt(2*y/g);
}
bool cmp1(dan x,dan y){
return x.yi==y.yi?x.xi<y.xi:x.yi<y.yi;
}
bool cmp2(dan x,dan y){
return x.p>y.p;
}
int main(){
//freopen("missile4.in","r",stdin);
//freopen("missile4.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
scanf("%d%d%d",&d[i].xi,&d[i].yi,&d[i].v);
}
for(int i=1;i<=n;i++) scanf("%d",&d[i].a);
sort(d+1,d+1+n,cmp1);
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(d[i].yi!=d[j].yi) break;
if((d[i].v<=0&&d[j].v>=0)||d[i].v<d[j].v) continue;
if(dis(d[i].yi,d[i].v,d[j].v)>=abs(d[i].xi-d[j].xi)) d[i].p++,d[j].p++;
}
//cout<<d[i].p<<" ";
}
for(int i=1;i<=n;i++){
//cout<<d[i].v<<" "<<d[i].p<<" ";
ans+=d[i].p;
d[i].p=min(d[i].p,d[i].a);
}
sort(d+1,d+1+n,cmp2);
for(int i=1;i<=m;i++){
ans-=d[i].p;
}
cout<<ans<<endl;
return 0;
}
感觉是 n^2的问题但是不知道怎么改