結果
問題 |
No.1623 三角形の制作
|
ユーザー |
|
提出日時 | 2021-07-23 21:43:34 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 790 bytes |
コンパイル時間 | 1,604 ms |
コンパイル使用メモリ | 161,852 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-18 17:21:48 |
合計ジャッジ時間 | 7,370 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 2 |
other | RE * 19 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, l, r) for (auto i = (l); i < (r); i++) using ll = int; int main() { int n; cin >> n; vector<int> r(n); vector<int> g(n); vector<int> b(n); rep(i, 0, n) cin >> r[i]; rep(i, 0, n) cin >> g[i]; rep(i, 0, n) cin >> b[i]; vector<ll> R(3001, 0); vector<ll> G(3001, 0); vector<ll> B(3001, 0); rep(i, 0, n) { R[r[i]]++; G[g[i]]++; B[b[i]]++; } vector<ll> imos(3003, 0); rep(green, 0, 3001) rep(blue, 0, 3001) { int r = green + blue; int l = max(green, blue); ll count = G[green] * B[blue]; imos[l] += count; imos[r] -= count; } rep(i, 0, 3000) imos[i + 1] += imos[i]; ll ans = 0; rep(red, 0, 3001) ans += R[red] * imos[red]; cout << ans << endl; return 0; }