美团8.13笔试
t4 合法的三元组
// a[i] = 3*a[j] - a[k] && i<j<k
int main()
{
int n, count=0;
cin >> n;
for (int i=0; i<n; i++) cin >> a[i];
unordered_map<int, int> mp;
mp[a[0]] = 1;
for (int j = 1; j<n-1; j++) {
for (int k=j+1; k<n; k++) {
count += mp[3*a[j]-a[k]];
}
if (j == n-2) break;
mp[a[j]] += 1;
}
cout << count;
return 0;
}
查看6道真题和解析
