結果
問題 | No.316 もっと刺激的なFizzBuzzをください |
ユーザー |
![]() |
提出日時 | 2020-07-08 09:30:02 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,635 bytes |
コンパイル時間 | 1,532 ms |
コンパイル使用メモリ | 167,204 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-03 04:51:34 |
合計ジャッジ時間 | 2,844 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
#include<bits/stdc++.h>using namespace std;#define ll long long#define FOR(i,l,r) for(ll i=(l);i<(r);++i)#define REP(i,n) FOR(i,0,n)#define REPS(i,n) FOR(i,1,n+1)#define RFOR(i,l,r) for(ll i=(l);i>=(r);--i)#define RREP(i,n) RFOR(i,n-1,0)#define RREPS(i,n) RFOR(i,n,1)#define pb push_back#define eb emplace_back#define SZ(x) ((ll)(x).size())#define all(x) (x).begin(),(x).end()#define rall(x) (x).rbegin(),(x).rend()template<class T = ll> using V = vector<T>;template<class T = ll> using VV = V<V<T>>;template<class T> inline bool chmin(T& a, T b) {if (a > b) {a = b; return true; }return false; }template<class T> inline bool chmax(T& a, T b) {if (a < b) {a = b; return true; }return false; }inline void Yes(bool b = true) {cout << (b ? "Yes" : "No") << '\n';}inline void YES(bool b = true) {cout << (b ? "YES" : "NO") << '\n';}inline void err(bool b = true) {if(b) {cout << -1 << '\n'; exit(0);}}template<class T> inline void fin(bool b = true, T e = 0) {if(b) {cout << e << '\n'; exit(0);}}template<class T> T Roundup_div(T x, T y) {return (x+(y-1))/y;}const ll INF = 1e18;template <typename T>T pow(T a, long long n, T e = 1) {T ret = e;while (n) {if (n & 1) ret *= a;a *= a;n >>= 1;}return ret;}ll lcm(ll x,ll y) {return x/__gcd(x,y)*y;};int main(){ios::sync_with_stdio(false);cin.tie(nullptr);ll n, a[3]; cin >> n;REP(i,3)cin >> a[i];ll res = n;REP(i,(1 << 3)){ll mul = 1;REP(j,3)if((i >> j) & 1) mul = lcm(mul,a[j]);res -= n / mul * pow(-1,__builtin_popcount(i));}cout << res << endl;}