Submission #3433651
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using dbl = double;
using pii = pair<int, int>;
using pl4 = pair<ll, ll>;
using vi = vector<int>;
using vvi = vector<vi>;
using vs = vector<string>;
using vvs = vector<vs>;
using vll = vector<ll>;
using vvll = vector<vll>;
using vvvll = vector<vvll>;
using vpii = vector<pii>;
using vvpii = vector<vpii>;
using vpl4 = vector<pl4>;
using vvpl4 = vector<vpl4>;
using vd = vector<dbl>;
using vvd = vector<vd>;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define pob pop_back()
#define pf push_front
#define pof pop_front()
#define sz size()
#define be begin()
#define en end()
#define asn assign
#define emp empty()
#define fr front()
#define bk back()
#define clr clear()
#define ins insert
#define ers erase
#define res resize
#define tp top()
#define p_q priority_queue
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
#define rFOR(i,a,b) for(int i=(b);i>=(a);i--)
#define REP(i,a) FOR((i),0,(a)-1)
#define REP0(i,a) FOR((i),0,(a))
#define REP1(i,a) FOR((i),1,(a))
#define rREP(i,a) rFOR((i),0,(a)-1)
#define rREP0(i,a) rFOR((i),0,(a))
#define rREP1(i,a) rFOR((i),1,(a))
#define ROR(v,i) for(auto &(i):(v))
#define IOTA(a,n) iota((a).be,(a).en,(n))
#define SORT(a) sort((a).be,(a).en)
#define rSORT(a) sort((a).rbegin(),(a).rend())
#define UNIQUE(a) (a).erase(unique((a).be,(a).en),(a).en)
#define PREVP(a) prev_permutation((a).be,(a).en)
#define NEXTP(a) next_permutation((a).be,(a).en)
#define BINS(a,b) binary_search((a).be,(a).en,(b))
#define LOWB(a,b) (lower_bound((a).be,(a).en,(b))-(a).be)
#define UPB(a,b) (upper_bound((a).be,(a).en,(b))-(a).be)
#define CNT(a,b) count((a).be,(a).en,b)
#define SUM(a) accumulate((a).be,(a).en,0)
#define REV(a) reverse((a).be,(a).en)
#define REGS(a,b) regex_search((a),regex(b))
#define REGM(a,b) regex_match((a),regex(b))
#define yn(a) cout <<((a)?"yes":"no")<<endl;
#define Yn(a) cout <<((a)?"Yes":"No")<<endl;
#define YN(a) cout <<((a)?"YES":"NO")<<endl;
#define Imp(a) cout <<((a)?"Possible":"Impossible")<<endl;
#define IMP(a) cout <<((a)?"POSSIBLE":"IMPOSSIBLE")<<endl;
#define say(a) cout <<(a);
#define sal(a) cout <<(a)<<endl;
#define sak cout <<endl;
#define sas cout <<" ";
#define sat cout <<"\t";
#define dbg(a) cout <<(#a)<<": "<<(a)<<endl;
#define c2l(a) ((ll)(a-48))
#define a2l(a) ((ll)(a-97))
#define A2l(a) ((ll)(a-65))
#define l2c(a) ((char)(a+48))
#define l2a(a) ((char)(a+97))
#define l2A(a) ((char)(a+65))
#define DigN2(a) ((llabs(a)==0)?(1):((ll)(log2(double(llabs(a))))+1))
#define DigN10(a) ((llabs(a)==0)?(1):((ll)(log10(double(llabs(a))))+1))
#define Dig2(a,b) (((a)>>(b))&1)
#define Dig10(a,b) (ll)(((a)/((ll)(pow(10.0,(double)(b)))))%10)
#define Pow2(a) (1<<(a))
#define Pow10(a) ((ll)(pow(10.0,double(a))))
#define llin(a) ll (a);cin >>(a);
#define stin(a) string (a);cin >>(a);
#define vin(v) ROR((v),(i)){cin >>(i);};
#define vllin(v,N) vll (v)((N));vin(v);
#define vsin(v,N) vs (v)((N));vin(v);
#define rdn(a,b) ((a)/(b))
#define rou(a,b) ((((double(a)/double(b))-((a)/(b)))<0.5)?((a)/(b)):(((a)/(b))+1))
#define rup(a,b) ((((a)%(b))==0)?((a)/(b)):(((a)/(b))+1))
#define min(a,b) ((a<b)?(a):(b))
#define max(a,b) ((a>b)?(a):(b))
#define powll(a,b) (ll)(pow((double)(a),(double)(b)))
#define Triangle(x1,y1,x2,y2,x3,y3) (((x1)-(x2))*((y1)-(y3))-((x1)-(x3))*((y1)-(y2)))
#define int ll
const ll MOD = 1e9 + 7;
//const ll MOD = 998244353;
//const ll MOD = 9007199254740881;
const ll INF = 1LL << 60;
const double PI = acos(-1.0);
const string alp = "abcdefghijklmnopqrstuvwxyz";
const string ALP = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
ll gcd(ll a, ll b) { if (b == 0)return a; return gcd(b, a%b); }
ll lcm(ll a, ll b) { return a / gcd(a, b)*b; }
pl4 Bezout(ll a, ll b) {
if (b != 0) {
pl4 xy;
xy = Bezout(b, a%b);
return mp(xy.se, xy.fi - ((a / b)*xy.se));
}
if (b == 0) {
return mp(1, 0);
}
}
pl4 Bez(ll a, ll b, ll c) {
pl4 xy;
ll x, y, z, gc;
xy = Bezout(a, b);
gc = gcd(a, b);
if (c%gc != 0) return mp(-1, -1);
x = xy.fi*(c / gc); y = xy.se*(c / gc);
if (x < 0) z = rup(-x, (b / gc));
if (x >= 0) z = -x / (b / gc);
x += z * (b / gc);
y -= z * (a / gc);
return mp(x, y);
}
void salv(vll v) {
say("{");
FOR(i, 0, v.sz - 1) {
say(v[i]);
if (i != v.sz - 1) say(",");
}
sal("}")
}
ll DigS10(ll n) {
ll m = 0;
FOR(i, 0, DigN10(n) - 1) {
m += (ll)((llabs(n) % (ll)(pow(10.0, (double)(i + 1)))) / (ll)(pow(10.0, (double)i)));
}
return m;
}
ll isP(ll n) {
if (n <= 1) return 0;
FOR(i, 2, (ll)sqrt(n)) {
if (n%i == 0) return 0;
}
return 1;
}
vll FactM(1, 1);
vll FactMI(1, 1);
ll PowM(ll a, ll b) {
ll ans = 1, x = (a%MOD);
FOR(i, 0, DigN2(b) - 1) {
if (Dig2(b, i) == 1) ans = (ans*x) % MOD;
if (i != (DigN2(b) - 1)) x = (x*x) % MOD;
}
return ans;
}
void CFactM(ll n) {
if (FactM.sz <= n) {
FOR(i, FactM.sz, n) {
FactM.pb((FactM[i - 1] * (i%MOD)) % MOD);
}
}
return;
}
void CFactMI(ll n) {
CFactM(n);
if (FactMI.sz < (n + 1)) FactMI.res(n + 1, -1);
if (FactMI[n] == -1) FactMI[n] = PowM(FactM[n], MOD - 2);
rFOR(i, 1, n - 1) {
if (FactMI[i] != -1) break;
FactMI[i] = ((FactMI[i + 1] * ((i + 1) % MOD)) % MOD);
}
return;
}
ll CombM(ll n, ll k) {
if ((n < 0) || (k < 0)) return 0;
if (n < k) return 0;
if (n + 1 > FactMI.sz) CFactMI(n);
return ((((FactMI[k] * FactMI[n - k]) % MOD)*FactM[n]) % MOD);
}
ll LIS(vll v, ll m) {
if (v.sz > 0) {
ll ans = 0;
vll dp(v.sz, INF);
FOR(i, 0, v.sz - 1) {
dp[m ? UPB(dp, v[i]) : LOWB(dp, v[i])] = v[i];
}
FOR(i, 0, v.sz - 1) {
if (dp[i] == INF) break;
ans++;
}
return ans;
}
else {
return 0;
}
}
//swap_count
/*
std::cout << std::fixed;
std::cout << std::setprecision(2) << 3.141; // "3.14"
std::cout << std::setprecision(2) << 3.0; // "3.00"
*/
signed main() {
llin(K);
vll d(K, INF);
d[1] = 0;
deque<ll> dq;
dq.pf(1);
ll t;
while (dq.sz) {
t = dq.fr;
dq.pof;
if (d[t * 10 % K] > d[t]) {
d[t * 10 % K] = d[t];
dq.pf(t * 10 % K);
}
if (d[(t + 1) % K] > d[t] + 1) {
d[(t + 1) % K] = d[t] + 1;
dq.pb((t + 1) % K);
}
}
sal(d[0] + 1);
}
Submission Info
Submission Time |
|
Task |
D - Small Multiple |
User |
mi_tesseract |
Language |
C++14 (GCC 5.4.1) |
Score |
700 |
Code Size |
6342 Byte |
Status |
AC |
Exec Time |
9 ms |
Memory |
1408 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
700 / 700 |
Status |
|
|
Set Name |
Test Cases |
Sample |
s1.txt, s2.txt, s3.txt |
All |
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, s1.txt, s2.txt, s3.txt |
Case Name |
Status |
Exec Time |
Memory |
01.txt |
AC |
1 ms |
256 KB |
02.txt |
AC |
1 ms |
256 KB |
03.txt |
AC |
1 ms |
256 KB |
04.txt |
AC |
1 ms |
256 KB |
05.txt |
AC |
1 ms |
256 KB |
06.txt |
AC |
1 ms |
256 KB |
07.txt |
AC |
1 ms |
256 KB |
08.txt |
AC |
1 ms |
256 KB |
09.txt |
AC |
1 ms |
256 KB |
10.txt |
AC |
1 ms |
256 KB |
11.txt |
AC |
1 ms |
256 KB |
12.txt |
AC |
1 ms |
256 KB |
13.txt |
AC |
1 ms |
256 KB |
14.txt |
AC |
1 ms |
256 KB |
15.txt |
AC |
1 ms |
256 KB |
16.txt |
AC |
1 ms |
256 KB |
17.txt |
AC |
1 ms |
256 KB |
18.txt |
AC |
1 ms |
256 KB |
19.txt |
AC |
1 ms |
256 KB |
20.txt |
AC |
1 ms |
256 KB |
21.txt |
AC |
6 ms |
1024 KB |
22.txt |
AC |
6 ms |
1024 KB |
23.txt |
AC |
6 ms |
1408 KB |
24.txt |
AC |
8 ms |
1408 KB |
25.txt |
AC |
6 ms |
1280 KB |
26.txt |
AC |
5 ms |
1152 KB |
27.txt |
AC |
6 ms |
1408 KB |
28.txt |
AC |
6 ms |
1280 KB |
29.txt |
AC |
6 ms |
1280 KB |
30.txt |
AC |
9 ms |
1280 KB |
31.txt |
AC |
1 ms |
256 KB |
32.txt |
AC |
1 ms |
256 KB |
33.txt |
AC |
9 ms |
1152 KB |
34.txt |
AC |
3 ms |
640 KB |
35.txt |
AC |
6 ms |
1024 KB |
36.txt |
AC |
5 ms |
1152 KB |
37.txt |
AC |
2 ms |
512 KB |
38.txt |
AC |
3 ms |
640 KB |
39.txt |
AC |
4 ms |
768 KB |
40.txt |
AC |
1 ms |
256 KB |
41.txt |
AC |
5 ms |
1024 KB |
42.txt |
AC |
6 ms |
1280 KB |
43.txt |
AC |
2 ms |
384 KB |
44.txt |
AC |
1 ms |
256 KB |
45.txt |
AC |
4 ms |
768 KB |
46.txt |
AC |
4 ms |
768 KB |
47.txt |
AC |
1 ms |
256 KB |
48.txt |
AC |
5 ms |
1024 KB |
49.txt |
AC |
5 ms |
1024 KB |
50.txt |
AC |
4 ms |
768 KB |
51.txt |
AC |
2 ms |
512 KB |
52.txt |
AC |
3 ms |
640 KB |
53.txt |
AC |
4 ms |
896 KB |
54.txt |
AC |
3 ms |
512 KB |
55.txt |
AC |
4 ms |
768 KB |
56.txt |
AC |
4 ms |
896 KB |
57.txt |
AC |
6 ms |
1152 KB |
58.txt |
AC |
4 ms |
768 KB |
59.txt |
AC |
5 ms |
896 KB |
60.txt |
AC |
4 ms |
768 KB |
61.txt |
AC |
2 ms |
384 KB |
62.txt |
AC |
3 ms |
640 KB |
63.txt |
AC |
5 ms |
1024 KB |
64.txt |
AC |
5 ms |
1024 KB |
s1.txt |
AC |
1 ms |
256 KB |
s2.txt |
AC |
1 ms |
256 KB |
s3.txt |
AC |
5 ms |
896 KB |