Submission #616099
Source Code Expand
#include <cstdlib> #include <cmath> #include <climits> #include <cfloat> #include <map> #include <utility> #include <set> #include <iostream> #include <memory> #include <string> #include <vector> #include <algorithm> #include <functional> #include <sstream> #include <deque> #include <complex> #include <stack> #include <queue> #include <cstdio> #include <cctype> #include <cstring> #include <ctime> #include <iterator> #include <bitset> #include <numeric> #include <list> #include <iomanip> #include <array> #include <tuple> #include <initializer_list> #include <unordered_set> #include <unordered_map> #include <forward_list> using namespace std; #define all(c) begin(c), end(c) using ll = long long; using pii = pair<int, int>; using vi = vector<int>; ll gcd(ll a, ll b) { return b ? gcd(b, a%b) : a; } ll lcm(ll a, ll b) { return a / gcd(a, b)*b; } ll popcount(ll x) { return x ? x % 2 + popcount(x / 2) : x; } ll solve(ll n) { ll nico = 25; ll ans = 0; vector<ll> nicos; while (nico <= n) { nicos.emplace_back(nico); nico = nico * 100 + 25; } int sz = nicos.size(); for (int S = 1; S < 1 << sz; S++) { int c = popcount(S); ll x = 1; for (int i = 0; i < sz; i++) { if (S >> i & 1) x = lcm(x, nicos[i]); if (x > n) goto END; } if (c & 1) { ans -= n/x; } else { ans += n/x; } END:; } return -ans; } int main() { ll n; while (cin >> n) { cout << solve(n) << endl; } }
Submission Info
Submission Time | |
---|---|
Task | A - ニコニコ数 |
User | tubo28 |
Language | C++11 (GCC 4.9.2) |
Score | 60 |
Code Size | 1647 Byte |
Status | AC |
Exec Time | 26 ms |
Memory | 928 KB |
Judge Result
Set Name | Sample | Subtask1 | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 60 / 60 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
Subtask1 | sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 25 ms | 716 KB |
sample_02.txt | AC | 23 ms | 920 KB |
test_01.txt | AC | 23 ms | 800 KB |
test_02.txt | AC | 23 ms | 924 KB |
test_03.txt | AC | 23 ms | 924 KB |
test_04.txt | AC | 24 ms | 676 KB |
test_05.txt | AC | 24 ms | 804 KB |
test_06.txt | AC | 25 ms | 928 KB |
test_07.txt | AC | 24 ms | 800 KB |
test_08.txt | AC | 25 ms | 676 KB |
test_09.txt | AC | 24 ms | 924 KB |
test_10.txt | AC | 26 ms | 796 KB |
test_11.txt | AC | 24 ms | 800 KB |
test_12.txt | AC | 26 ms | 924 KB |
test_13.txt | AC | 25 ms | 924 KB |
test_14.txt | AC | 24 ms | 804 KB |
test_15.txt | AC | 25 ms | 924 KB |