結果
問題 |
No.3260 岩井スターグラフ
|
ユーザー |
|
提出日時 | 2025-09-06 13:18:55 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 78 ms / 2,000 ms |
コード長 | 3,313 bytes |
コンパイル時間 | 4,092 ms |
コンパイル使用メモリ | 251,168 KB |
実行使用メモリ | 8,064 KB |
最終ジャッジ日時 | 2025-09-06 13:19:14 |
合計ジャッジ時間 | 9,274 ms |
ジャッジサーバーID (参考情報) |
judge / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
// https://qiita.com/Raclamusi/items/660f0f42c57e4371ed78 #ifdef INCLUDED_MAIN auto solve(ll a, ll b, int c, const std::vector<ll> &d, const std::vector<ll> &e) { // TODO: edit here vc<ll> ans(c); rep(i, c) { if (d[i] == 0) { if (e[i] == 0) continue; ans[i] = (e[i] - 1) % b + 1; continue; } if (e[i] == 0) { ans[i] = (d[i] - 1) % b + 1; continue; } ll from = (d[i] - 1) / b; ll to = (e[i] - 1) / b; if (from == to) { ans[i] = abs(d[i] - e[i]); } else { ans[i] = (d[i] - 1) % b + 1 + (e[i] - 1) % b + 1; } } return ans; } // generated by oj-template v4.8.1 (https://github.com/online-judge-tools/template-generator) int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); cout << fixed << setprecision(15); // ref:https://rsk0315.hatenablog.com/entry/2020/05/09/170315 // ll T; // cin >> T; // rep(i, T)solve(); ll a, b; int c; std::cin >> a >> b >> c; std::vector<ll> d(c), e(c); rep(i, c) { std::cin >> d[i] >> e[i]; } auto f = solve(a, b, c, d, e); rep(i, c) { std::cout << f[i] << '\n'; } return 0; } #else // #ifndef ONLINE_JUDGE // #define _GLIBCXX_DEBUG 1 //[]で配列外参照をするとエラーにしてくれる。上下のやつがないとTLEになるので注意 ABC311Eのサンプル4みたいなデバック中のTLEは防げないので注意 // #endif #ifdef ONLINE_JUDGE #define NDEBUG #include <atcoder/all> #endif #include <bits/stdc++.h> // # include <boost/multiprecision/cpp_dec_float.hpp> // # include <boost/multiprecision/cpp_int.hpp> // # include <boost/rational.hpp> // namespace mp = boost::multiprecision; // // 任意長整数型 // using Bint = mp::cpp_int; // // 仮数部が32桁(10進数)の浮動小数点数型 // using Real32 = mp::number<mp::cpp_dec_float<32>>; // // 仮数部が1024桁(10進数)の浮動小数点数型 // using Real1024 = mp::number<mp::cpp_dec_float<1024>>; // // ついでに有理数型 // using Rat = boost::rational<Bint>; using namespace atcoder; using namespace std; using ll = long long; using ld = long double; #define double ld ll INF = 2e18; using P = pair<ll, ll>; #define pb push_back #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define reprev(i, n) for (ll i = (ll)(n) - 1; i >= 0; i--) #define reps(i, n) for (ll i = 1; i <= (ll)(n); i++) #define for_(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) #define all(v) v.begin(), v.end() template <typename T> inline bool chmin(T &a, const T &b) { bool c = a > b; if (c) a = b; return c; } template <typename T> inline bool chmax(T &a, const T &b) { bool c = a < b; if (c) a = b; return c; } template <typename T> inline T ceil(T a, T b) { return (a + (b - 1)) / b; } using mint = modint998244353; // using mint = modint1000000007; // using mint = static_modint<10>;//使うときはコメントアウトを外す template <typename T> using vc = vector<T>; template <class T> istream &operator>>(istream &i, vc<T> &v) { rep(j, (ll)size(v)) i >> v[j]; return i; } template <class T> ostream &operator<<(ostream &o, const vc<T> &v) { rep(j, (ll)size(v)) { if (j) o << " "; o << v[j]; } o << endl; return o; } #define INCLUDED_MAIN #include __FILE__ #endif