結果
| 問題 | No.316 もっと刺激的なFizzBuzzをください |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-12-30 18:58:02 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,112 bytes |
| 記録 | |
| コンパイル時間 | 877 ms |
| コンパイル使用メモリ | 94,848 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-19 08:47:57 |
| 合計ジャッジ時間 | 1,755 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 WA * 1 |
| other | AC * 25 WA * 8 |
ソースコード
#include <iostream>
#include <algorithm>
#include <vector>
#include <deque>
#include <string>
#include <tuple>
#include <functional>
#include <numeric>
#include <cmath>
#include <iomanip>
#include <map>
#include <random>
//#include "toollib.h"
#define INT_MAX 2147483647
#define Loop(i, n) for(int i = 0; i < (int)n; i++)
#pragma warning (disable:4018)
using namespace std;
typedef long long int lint;
int solve_GCD(int x, int y) {
while (x != y) {
if (x > y) {
x -= y;
}
else {
y -= x;
}
}
return x;
}
int solve_LCM(int x, int y) {
int z = solve_GCD(x, y);
return x*y / z;
}
//***** Main Program *****
int main() {
int N;
vector<int> a(3);
cin >> N >> a[0] >> a[1] >> a[2];
sort(a.begin(), a.end(), greater<int>());
int lcm01 = solve_LCM(a[0], a[1]);
int lcm12 = solve_LCM(a[1], a[2]);
int lcm20 = solve_LCM(a[2], a[0]);
int lcm = solve_LCM(a[0], lcm12);
int x0 = N / a[0];
int x1 = N / a[1];
int x2 = N / a[2];
int xx01 = N / lcm01;
int xx12 = N / lcm12;
int xx20 = N / lcm20;
int xxx = N / lcm;
int ret = x0 + x1 + x2 - xx01 - xx12 - xx20 + xxx;
cout << ret << endl;
}