F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_38113712_15065.cpp:5:54: error: 'enable_if_t' in namespace 'std' does not name a template type
         template<class...Cond> using require_ = std::enable_if_t<std::__and_<Cond...>::value, bool>;
                                                      ^
0_0_38113712_15065.cpp:6:33: error: 'szc::util::require_' has not been declared
         template<class T, util::require_<std::is_integral<T>> = true> T ceil_div(const T & a, const T & b) { return ((a + b - 1) / b); }
                                 ^
0_0_38113712_15065.cpp:6:41: error: expected '>' before '<' token
         template<class T, util::require_<std::is_integral<T>> = true> T ceil_div(const T & a, const T & b) { return ((a + b - 1) / b); }
                                         ^
0_0_38113712_15065.cpp:36:31: error: template declaration of 'constexpr const T INF'
 template<class T> constexpr T INF = std::numeric_limits<T>::max() / 2 - 5;
                               ^
0_0_38113712_15065.cpp:37:31: error: template declaration of 'constexpr const T NINF'
 template<class T> constexpr T NINF = std::numeric_limits<T>::min() / 2 + 5;
                               ^
0_0_38113712_15065.cpp:43:64: error: 'Add' function uses 'auto' type specifier without trailing return type
     template<class T, class U> inline auto Add(T a, const U & b) { a += b; while (a >= Mod) a -= Mod; while (a < 0) a += Mod; return a; }
                                                                ^
0_0_38113712_15065.cpp:43:64: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:44:50: error: 'Add' function uses 'auto' type specifier without trailing return type
     template<class T> inline auto Add(const T & a) { return Add(a, 0); }
                                                  ^
0_0_38113712_15065.cpp:44:50: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:45:108: error: 'Add' function uses 'auto' type specifier without trailing return type
     template<class T, class U, class...Args> inline auto Add(const T & a, const U & b, const Args & ...args) { return (Add(Add(a, b), args...)); }
                                                                                                            ^
0_0_38113712_15065.cpp:45:108: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:46:105: error: 'cAdd' function uses 'auto' type specifier without trailing return type
     template<class T, class U, class...Args> inline auto & cAdd(T & a, const U & b, const Args & ...args) { return (a = Add(a, b, args...)); }
                                                                                                         ^
0_0_38113712_15065.cpp:46:105: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:48:72: error: 'Mul' function uses 'auto' type specifier without trailing return type
     template<class T, class U> inline auto Mul(const T & a, const U & b) { return (1ll * a * b % Mod); }
                                                                        ^
0_0_38113712_15065.cpp:48:72: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:49:108: error: 'Mul' function uses 'auto' type specifier without trailing return type
     template<class T, class U, class...Args> inline auto Mul(const T & a, const U & b, const Args & ...args) { return (Mul(Mul(a, b), args...)); }
                                                                                                            ^
0_0_38113712_15065.cpp:49:108: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:50:105: error: 'cMul' function uses 'auto' type specifier without trailing return type
     template<class T, class U, class...Args> inline auto & cMul(T & a, const U & b, const Args & ...args) { return (a = Mul(a, b, args...)); }
                                                                                                         ^
0_0_38113712_15065.cpp:50:105: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp:53:30: error: 'qPow' function uses 'auto' type specifier without trailing return type
     inline auto qPow(T a, U b) {
                              ^
0_0_38113712_15065.cpp:53:30: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_38113712_15065.cpp: In function 'int C(int, int)':
0_0_38113712_15065.cpp:66:56: error: invalid use of 'auto'
     return (n < m) ? 0 : Mul(fac[n], inv[m], inv[n - m]);
                                                        ^
0_0_38113712_15065.cpp: In function 'void init(int)':
0_0_38113712_15065.cpp:72:35: error: invalid use of 'auto'
         fac[i] = Mul(fac[i - 1], i);
                                   ^
0_0_38113712_15065.cpp:74:34: error: invalid use of 'auto'
     inv[n] = qPow(fac[n], Mod - 2);
                                  ^
0_0_38113712_15065.cpp:76:39: error: invalid use of 'auto'
         inv[i] = Mul(inv[i + 1], i + 1);
                                       ^
0_0_38113712_15065.cpp: In function 'int dfs(int)':
0_0_38113712_15065.cpp:97:45: error: invalid use of 'auto'
     return Mul(res, C(siz[x] - 1, siz[l[x]]));
                                             ^
0_0_38113712_15065.cpp: In function 'void solve(int)':
0_0_38113712_15065.cpp:124:55: error: invalid use of 'auto'
     printf("%d\n", (int)Mul(n, inv[2], inv[n], dfs(rt)));
                                                       ^
0_0_38113712_15065.cpp: In instantiation of 'auto Modulo::Mul(const T&, const U&, const Args& ...) [with T = int; U = int; Args = {int}]':
0_0_38113712_15065.cpp:66:56:   required from here
0_0_38113712_15065.cpp:49:132: error: invalid use of 'auto'
     template<class T, class U, class...Args> inline auto Mul(const T & a, const U & b, const Args & ...args) { return (Mul(Mul(a, b), args...)); }
                                                                                                                                    ^
0_0_38113712_15065.cpp: In instantiation of 'auto Modulo::Mul(const T&, const U&, const Args& ...) [with T = int; U = int; Args = {int, int}]':
0_0_38113712_15065.cpp:124:55:   required from here
0_0_38113712_15065.cpp:49:142: error: invalid use of 'auto'
     template<class T, class U, class...Args> inline auto Mul(const T & a, const U & b, const Args & ...args) { return (Mul(Mul(a, b), args...)); }
                                                                                                                                              ^
0_0_38113712_15065.cpp: In instantiation of 'auto Modulo::Mul(const T&, const U&, const Args& ...) [with T = long long int; U = int; Args = {int}]':
0_0_38113712_15065.cpp:49:142:   required from 'auto Modulo::Mul(const T&, const U&, const Args& ...) [with T = int; U = int; Args = {int, int}]'
0_0_38113712_15065.cpp:124:55:   required from here
0_0_38113712_15065.cpp:49:132: error: invalid use of 'auto'
     template<class T, class U, class...Args> inline auto Mul(const T & a, const U & b, const Args & ...args) { return (Mul(Mul(a, b), args...)); }
                                                                                                                                    ^


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-06-16 06:00:08, Gzip enabled