結果
問題 | No.2784 繰り上がりなし十進和 |
ユーザー |
|
提出日時 | 2024-11-03 21:40:55 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,423 ms / 2,000 ms |
コード長 | 2,680 bytes |
コンパイル時間 | 8,161 ms |
コンパイル使用メモリ | 350,804 KB |
実行使用メモリ | 50,432 KB |
最終ジャッジ日時 | 2024-11-03 21:41:21 |
合計ジャッジ時間 | 26,472 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 36 |
ソースコード
#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include<bits/stdc++.h> #include <atcoder/all> using ull = unsigned long long; using namespace std; using namespace atcoder; using vst = vector<string>; using ll = long long; using ld = long double; using P = pair<ll,ll>; using vl = vector<ll>; using vvl = vector<vl>; using vP = vector<P>; #define rep(i, n) for (ll i = 0; i < n; i++) #define repp(i,k,n) for (ll i = k; i < n; i++) #define per(i,s,e) for(ll i = s; i >= e; i--) #define all(v) v.begin(),v.end() #define yesno(a) a ? cout << "Yes" << '\n' : cout << "No" << '\n' #define YESNO(a) a ? cout << "YES" << '\n' : cout << "NO" << '\n' #define UNOmap unordered_map #define UNOset unordered_set #define chmax(a,b) a=max(a,b) #define chmin(a,b) a=min(a,b) #define ONG {cout << -1 << endl;return 0;} #define OYES {cout << "Yes" << endl;} #define ONO { cout << "No" << endl;} #define debug(x) cerr << #x << " = " << x << '\n' template<class... T>void in(T&... a){(cin >> ... >> a);} template<class T, class... Ts>void out(const T& a, const Ts&... b){cout << a;((cout << ' ' << b), ...);cout << '\n';} template<class T> void vin2(vector<T> &u,vector<T> &v){for(ll i = 0; i < (ll)v.size(); i++) in(u[i],v[i]);} template<class T> void vin(vector<T> &v){for(ll i = 0; i < (ll)v.size(); i++)in(v[i]);} template<class T> void vout(vector<T> &v){for(ll i = 0; i < (ll)v.size(); i++) cout << v[i] << ' ';cout << "\n";} void voutm(vector<modint998244353> &v){for(ll i = 0; i < (ll)v.size(); i++) cout << v[i].val() << ' ';cout << "\n";} template<class T> bool inside(vector<vector<T>> &G,ll x, ll y){ ll H = G.size(); ll W = G[0].size(); return (0<=x && x<H && 0<=y && y<W); } ll INF = 1152921504606846976;ll MOD =998244353; ll MOD1 =1000000007; /* INF = 1LL << 60 */ #define sl(...) ll __VA_ARGS__; in(__VA_ARGS__) #define min(a,b) min(ll(a),ll(b)) using mint = modint998244353; using mint1 = modint1000000007; using mintn = modint; using vm = vector<mint>; using vvm = vector<vm>; vl dx = {0,0,1,-1}, dy = {1,-1,0,0}; //---------------------------------------------- ll op(ll a,ll b){ ll ans = 0; ll ten = 1; rep(i,6){ ans += (a/ten + b/ten)%10*ten; ten*=10; } return ans; } int main(){ ios::sync_with_stdio(false);cin.tie(nullptr);cout<<fixed<<setprecision(15); //============================================== vl A(6); vin(A); set<ll> st; ll c = A[0]; rep(i,10){ st.insert(c); c = op(c,A[0]); } rep(i,5){ for(auto x : st){ ll tmp = A[i+1]; rep(j,10){ st.insert(op(x,tmp)); tmp = op(tmp,A[i+1]); } } } out(st.size()); }