样例过了 10分求救
查看原帖
样例过了 10分求救
1056830
Mlzsan_HP楼主2023/10/26 17:23
#include <bits/stdc++.h>
using namespace std;
short a[15005],b[40001],i,j,k,t,n,m,c,e,f,q,w;
int A[15005],B[15005],C[15005],D[15005];
int main(){
	cin>>m>>n;
	for(i=1;i<=n;i++){		
		scanf("%d",&b[i]);
		a[b[i]]++;
	}
	for(i=1;i*9<m;i++){
		w=9*i+1;
		for(j=w;j<=m;j++){
			if(a[j]==0)continue;	
			c=j-i;
			if(a[c]==0)continue;
			e=6*i;
			for(k=1;k<c;k++){				
				f=c-k;			
				if(f-e<0)break;
				if(a[f-e]==0)continue;	
				if(a[f-e-(2*i)]==0)continue;
				q=a[f-e-(2*i)]+a[f-e]+a[c]+a[j]-2; 		
				A[f-e-(2*i)]+=q-a[f-e-(2*i)];
				B[f-e]+=q-a[f-e];	
				C[c]+=q-a[c];
				D[j]+=q-a[j];
			}
		}
	}
	for(i=1;i<=n;i++)printf("%d %d %d %d\n",A[b[i]],B[b[i]],C[b[i]],D[b[i]]);
	return 0;
}
2023/10/26 17:23
加载中...