1 条题解
-
0
C++ :
#include <cstdio> #include <algorithm> using namespace std; int main(){ int G; if(scanf("%d",&G)!=1) return 0; while(G--){ int n; scanf("%d",&n); int v[55]; for(int i=0;i<n;i++)scanf("%d",&v[i]); long long best=-1; for(int i=0;i<n;i++)for(int j=0;j<n;j++){ if(i==j)continue; long long S=v[i], D=v[j]; // S=X+Y, D=|X-Y| long long X=(S+D), Y=(S-D); // X=(S+D)/2, Y=(S-D)/2 if(X%2||Y%2)continue; X/=2; Y/=2; if(X<=0||Y<=0)continue; if(X+Y!=S||X-Y!=D)continue; if(X*Y>best)best=X*Y; } printf("%lld\n", best); } return 0; }
- 1
信息
- ID
- 2778
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者