結果
| 問題 | No.3535 $E\times - Otogibanashi$ |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-09 00:26:22 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 1,555 ms / 2,000 ms |
| コード長 | 1,564 bytes |
| 記録 | |
| コンパイル時間 | 4,400 ms |
| コンパイル使用メモリ | 379,096 KB |
| 実行使用メモリ | 102,016 KB |
| 最終ジャッジ日時 | 2026-05-09 00:26:49 |
| 合計ジャッジ時間 | 18,533 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 21 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using i128 = __int128;
using pll = pair<ll, ll>;
using vll = vector<ll>;
template <class T>
using max_heap = priority_queue<T>;
template <class T>
using min_heap = priority_queue<T, vector<T>, greater<>>;
constexpr ll INF = (1LL << 60);
ll ALPHABET_N = 26;
#define rep(i, n) for (ll i = (ll)0; i < (ll)n; i++)
#define rep_(i, k, n) for (ll i = (ll)k; i < (ll)n; i++)
#define rrep(i, n) for (ll i = (ll)(n) - 1; i >= 0; i--)
#define all(a) a.begin(), a.end()
#define sum_(a) accumulate(a.begin(), a.end(), 0LL)
template <class T>
bool chmax(T &a, const T &b)
{
if (a < b)
{
a = b;
return true;
}
return false;
}
template <class T>
bool chmin(T &a, const T &b)
{
if (a > b)
{
a = b;
return true;
}
return false;
}
#include <atcoder/all>
using namespace atcoder;
using mint = modint998244353;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n, p;
cin>>n>>p;
modint::set_mod(p);
set<ll> st;
rep(i1, 10) rep(i2, 10) rep_(i3, 1, 10) {
string s;
s += to_string(i3);
s += to_string(i3);
s += to_string(i1);
s += to_string(i2);
s += to_string(i2);
s += to_string(i1);
ll val = stoll(s);
ll mul = 1;
while(abs(-val * mul) <= n) {
st.insert(-val * mul);
mul++;
}
}
modint ans = 0;
for(auto val: st) {
ans += val;
}
cout<<ans.val()<<endl;
return 0;
}