A. Going Home
题意
给定一个长度为n的数组a,是否存在不同下标x,y,z,w 满足ax + ay = az + aw。
4 <= n <= 2e5
1 <= ai <= 2.5e6
思路
如果有四个以上数是相同的,那必然是四个数
如果有两对及以上两个数是相同的,那必然是其中的两对数
否则的话只能枚举,直到有两个数相同,枚举每个数的个数上限为2,
最多只会枚举 2 * ai (上限5e6)
代码
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<unordered_set>
#include<unordered_map>
using namespace std;
#define x first
#define y second
//#define int long long
typedef pair<int ,int > PII;
typedef long long ll;
const int N = 5e6 + 10;
vector<int > num[N];
vector<int > ans[N];
vector<int >s;
int a[N];
int main(){
int n