結果

問題 No.316 もっと刺激的なFizzBuzzをください
コンテスト
ユーザー kongarishisyamo
提出日時 2016-02-24 03:44:19
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 614 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 329 ms
コンパイル使用メモリ 74,220 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-10 19:07:00
合計ジャッジ時間 1,455 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 2
other AC * 8 WA * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<iostream>
#include<algorithm>

using namespace std;

long long gcd(long long a,long long b){
	if(a<b) return gcd(b,a);
	if(a%b==0) return b;
	return gcd(b,a%b);
}

int main(){

	long long N,a,b,c;
	bool f=false;

	cin>>N>>a>>b>>c;

	if(a==1||b==1||c==1){
		cout<<N<<endl;
		return 0;
	}
	if(a%b==0||a%c){
		swap(a,c);
		f=true;
	}
	else if(b%a==0||b%c){
		swap(b,c);
		f=true;
	}
	else if(c%b==0||c%a){
		f=true;
	}
	if(b>c) swap(b,c);
	if(a>c) swap(a,c);
	long long ab=a*b/gcd(a,b);

	long long tmp=N/a+N/b-N/ab;

	if(!f){
		for(int i=c;i<N;i+=c){
			if(i%a!=0&&i%b!=0) tmp++;
		}
	}

	cout<<tmp<<endl;
}
0