1 条题解
-
0何宇轩 (何宇轩毛毛) LV 5 @ 2022-10-28 20:00:49
不水的题解
`
#include<iostream> #include<cstdio> #include<cstring> #define N 50005 #define M 50005 using namespace std; int n,m,ans[M][10],num[M],a[M],A,B,C,D; int read() { int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=0;ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();} if(f)return x;return -x; } int main() { n=read();m=read(); for(int i=1;i<=m;i++) { a[i]=read(); num[a[i]]++; } for(int t=1;t*9<n;t++) { int sum=0; for(D=9*t+2;D<=n;D++) { C=D-t; B=C-6*t-1; A=B-2*t; sum+=num[A]*num[B]; ans[C][3]+=num[D]*sum; ans[D][4]+=num[C]*sum; } sum=A=B=C=D=0; for(A=n-t*9-1;A>=1;A--) { B=A+2*t; C=B+6*t+1; D=C+t; sum+=num[C]*num[D]; ans[A][1]+=num[B]*sum; ans[B][2]+=num[A]*sum; } } for(int i=1;i<=m;i++) { for(int j=1;j<=4;j++) { cout<<ans[a[i]][j]<<" "; } cout<<endl; } return 0; }
`
- 1
信息
- ID
- 761
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 7
- 已通过
- 3
- 上传者