暴搜最后3组求大佬优化,代码:
#include<bits/stdc++.h>
using namespace std;
int m,n,x,h;
int v[15005][5]={0};
int p[40005];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>p[i];
v[p[i]][0]++;
}
for(int i=1;i<=n;i++){
if(!v[i][0]) continue;
for(int j=i+2;j<=n;j+=2){
if(!v[j][0]) continue;
for(int k=4*j-3*i+1;k<=n;k++){
if(!v[k][0]) continue;
h=(j-i)/2+k;
if(h>n) break;
v[i][1]+=v[j][0]*v[k][0]*v[h][0];
v[j][2]+=v[i][0]*v[k][0]*v[h][0];
v[k][3]+=v[i][0]*v[j][0]*v[h][0];
v[h][4]+=v[i][0]*v[j][0]*v[k][0];
}
}
}
for(int i=1;i<=m;i++){
for(int j=1;j<=4;j++){
cout<<v[p[i]][j]<<" ";
}
cout<<endl;
}
return 0;
}