結果
| 問題 |
No.1828 Except 3
|
| ユーザー |
|
| 提出日時 | 2022-02-15 11:27:53 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 6 ms / 2,000 ms |
| コード長 | 2,740 bytes |
| コンパイル時間 | 1,741 ms |
| コンパイル使用メモリ | 176,604 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-29 07:06:02 |
| 合計ジャッジ時間 | 2,508 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 16 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using Graph = vector<vector<int>>;
class extension {
//イテレーター省略
#define all(v) v.begin(),v.end()
//配列の読み取り
#define loadVector(n,v) for (int i = 0;i < n;i++) cin >> v[i]
//pair型配列の読み取り
#define loadVectors(n,v) for (int i = 0;i < n;i++) cin >> v[i].first >> v[i].second
//逆ソート
#define r_sort(v) sort(v.rbegin(),v.rend())
//long long省略
#define ll long long
//指定したkeyがmapに存在するかどうか
#define mapFind(m,x) m.find(x) != end(m)
//long doubleの省略
#define ld long double
//nをbase_number進数に変換する
public:string to_oct(int n, int base_number) {
string s;
while (n) {
s = to_string(n % base_number) + s;
n /= base_number;
}
return s;
}
//エラトステネスの篩
public:vector<int> Eratosthenes(int N)
{
std::vector<bool> is_prime(N + 1);
for (int i = 0; i <= N; i++)
{
is_prime[i] = true;
}
std::vector<int> P;
for (int i = 2; i <= N; i++)
{
if (is_prime[i])
{
for (int j = 2 * i; j <= N; j += i)
{
is_prime[j] = false;
}
P.emplace_back(i);
}
}
return P;
}
//文字列を分割する
vector<string> split(string str, char del) {
int first = 0;
int last = str.find_first_of(del);
vector<string> result;
while (first < str.size()) {
string subStr(str, first, last - first);
result.push_back(subStr);
first = last + 1;
last = str.find_first_of(del, first);
if (last == string::npos) {
last = str.size();
}
}
return result;
}
vector<ll> divisor(ll n) {
vector<ll> result;
set<ll> s;
for (ll i = 1; i <= sqrt(n); i++) {
if (n % i == 0) {
s.insert(i);
s.insert(n / i);
}
}
for (int x : s) {
result.push_back(x);
}
return result;
}
};
int main(void) {
// Your code here!
cin.tie(nullptr);
ios::sync_with_stdio(false);
//拡張クラスのインスタンス化
extension ex = extension();
int n;
cin >> n;
vector<int> a(n),b(n),c(n);
loadVector(n,a);
loadVector(n,b);
loadVector(n,c);
vector<ll> cnt(3);
for (int i = 0;i < n;i++) {
if (a[i] % 3 != 0) cnt[0]++;
if (b[i] % 3 != 0) cnt[1]++;
if (c[i] % 3 != 0) cnt[2]++;
}
ll ans = cnt[0] * cnt[1] * cnt[2];
cout << ans << endl;
}