LeetCode Weekly Contest 273
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
ll sm1[1d5+1], sm2[1d5+1], cnt1[], cnt2[];
class Solution {
public:
vector<ll> getDistances(vector<int>& A) {
int N = A.size();
vector<ll> res; ll tmp;
rep(i,1d5+1) sm1[i] = sm2[i] = cnt1[i] = cnt2[i] = 0;
rep(i,N){
sm2[A[i]] += i;
cnt2[A[i]]++;
}
rep(i,N){
sm2[A[i]] -= i;
cnt2[A[i]]--;
tmp = (sm2[A[i]] - cnt2[A[i]] * i) + (cnt1[A[i]] * i - sm1[A[i]]);
res.push_back(tmp);
sm1[A[i]] += i;
cnt1[A[i]]++;
}
return res;
}
};
Current time: 2024年05月19日03時09分30秒
Last modified: 2022年01月02日03時40分35秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)