結果
問題 | No.2624 Prediction by Average |
ユーザー |
|
提出日時 | 2024-02-09 22:36:04 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 4,353 bytes |
コンパイル時間 | 2,814 ms |
コンパイル使用メモリ | 298,108 KB |
実行使用メモリ | 7,680 KB |
最終ジャッジ日時 | 2024-09-28 15:48:29 |
合計ジャッジ時間 | 3,393 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 5 |
ソースコード
#pragma region Macros#include <bits/stdc++.h>#include <immintrin.h>#include <algorithm>#include <array>#include <bitset>#include <cassert>#include <cctype>#include <cfenv>#include <cfloat>#include <chrono>#include <cinttypes>#include <climits>#include <cmath>#include <complex>#include <cstdarg>#include <cstddef>#include <cstdint>#include <cstdio>#include <cstdlib>#include <cstring>#include <deque>#include <fstream>#include <functional>#include <initializer_list>#include <iomanip>#include <ios>#include <iostream>#include <istream>#include <iterator>#include <limits>#include <list>#include <map>#include <memory>#include <new>#include <numeric>#include <ostream>#include <queue>#include <random>#include <set>#include <sstream>#include <stack>#include <streambuf>#include <string>#include <tuple>#include <type_traits>#include <typeinfo>#include <unordered_map>#include <unordered_set>#include <utility>#include <vector>#define ll long long#define OVERLOAD(e1, e2, e3, e4, NAME, ...) NAME#define _rep1(i, n) for (long long i = 0; i < n; i++)#define _rep2(i, a, b) for (long long i = a; i < b; ++i)#define _rep3(i, a, b, t) \for (long long i = a; i * (t / abs(t)) < b * (t / abs(t)); i += t)#define rep(...) OVERLOAD(__VA_ARGS__, _rep3, _rep2, _rep1, _)(__VA_ARGS__)#define all(x) (x).begin(), (x).end()#define sz(x) (ll) x.size()#define fi first#define se second#define pb push_back#define eb emplace_back#define mp make_pair#define pcnt __builtin_popcountll#define SORT(v) sort(all(v))#define UNIQUE(v) \SORT(v); \v.erase(unique(v.begin(), v.end()), v.end());#define COPY(A, B) copy(all(A), B.begin());#define REV(v) reverse(all(v))#define MAX(x) *max_element(all(x))#define MIN(x) *min_element(all(x))#ifdef LOCAL#define dbg(...) \{ cout << __LINE__ << " : " << #__VA_ARGS__ << " = ", print(__VA_ARGS__); }#else#define dbg(...) true#endifusing namespace std;template <typename T>using vc = vector<T>;template <typename T>using vvc = vector<vc<T>>;template <typename T>using vvvc = vector<vvc<T>>;template <typename T, typename U>bool chmin(T& k, U m) {bool ret = k > m;if (k > m) k = m;return ret;}template <typename T, typename U>bool chmax(T& k, U m) {bool ret = k < m;if (k < m) k = m;return ret;}void print() { cout << "\n"; }template <typename T>inline void print(const vector<T>& v, string s = " ") {for (ll i = 0; i < (ll)v.size(); i++)cout << v[i] << (i != (ll)v.size() - 1 ? s : "\n");}template <typename T>inline void print(const vvc<T>& v, string s = " ") {for (ll i = 0; i < (ll)v.size(); i++) print(v[i], s);}template <typename T>inline void print(const set<T>& vv) {for (ll v : vv) cout << v << " ";cout << "\n";}template <typename T>inline void print(const multiset<T>& vv) {for (ll v : vv) cout << v << " ";cout << "\n";}template <typename T, typename S>inline void print(const pair<T, S>& p) {cout << p.first << " " << p.second << endl;}template <typename T, typename S>inline void print(const vector<pair<T, S>>& v) {for (auto&& p : v) print(p);}template <typename Head, typename... Tail>void print(Head H, Tail... T) {cout << H << " ";print(T...);}template <typename T>inline void print(const T& x) {cout << x << "\n";}void yes(bool a) { cout << (a ? "yes" : "no") << endl; }void YES(bool a) { cout << (a ? "YES" : "NO") << endl; }void Yes(bool a) { cout << (a ? "Yes" : "No") << endl; }template <typename T>T SUM(vc<T> As) {T ret = 0;for (T a : As) ret += a;return ret;}#pragma endregionconst ll INF = numeric_limits<long long>::max() / 2;vvc<ll> icounter(1001);void solve() {ll N;cin >> N;string S;cin >> S;ll n = stoll(S.substr(sz(S) - 3, 3));ll ans = 0;for (auto v : icounter[n]) {ans += min(1000ll, N) / v;}ans += max(0ll, N - 1000);// for (auto [k, v] : counter) dbg(k, v);print(ans);}int main() {ios::sync_with_stdio(false);cin.tie(0);cout << fixed << setprecision(15);rep(i, 1, 1001) {rep(j, i) {if (i != 1 && gcd(i, j) != 1) continue;icounter[1000 * j / i].eb(i);}}ll T;cin >> T;rep(_, T) solve();}