QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#691568#7655. DnD Diceptit_noodlesAC ✓6ms5020kbC++2313.2kb2024-10-31 12:03:002024-10-31 12:03:00

Judging History

This is the latest submission verdict.

  • [2024-10-31 12:03:00]
  • Judged
  • Verdict: AC
  • Time: 6ms
  • Memory: 5020kb
  • [2024-10-31 12:03:00]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const int maxn = 1e2 + 14, lg = 15;

/*
  ######################################################################
  #######################   THE   BIG   INT   ##########################
*/
const int base = 1000000000;
const int base_digits = 9;
struct bigint
{
    vector<int> a;
    int sign;
    /*<arpa>*/
    int size()
    {
        if (a.empty())
            return 0;
        int ans = (a.size() - 1) * base_digits;
        int ca = a.back();
        while (ca)
            ans++, ca /= 10;
        return ans;
    }
    bigint operator^(const bigint &v)
    {
        bigint ans = 1, a = *this, b = v;
        while (!b.isZero())
        {
            if (b % 2)
                ans *= a;
            a *= a, b /= 2;
        }
        return ans;
    }
    string to_string()
    {
        stringstream ss;
        ss << *this;
        string s;
        ss >> s;
        return s;
    }
    int sumof()
    {
        string s = to_string();
        int ans = 0;
        for (auto c : s)
            ans += c - '0';
        return ans;
    }
    /*</arpa>*/
    bigint() : sign(1)
    {
    }

    bigint(long long v)
    {
        *this = v;
    }

    bigint(const string &s)
    {
        read(s);
    }

    void operator=(const bigint &v)
    {
        sign = v.sign;
        a = v.a;
    }

    void operator=(long long v)
    {
        sign = 1;
        a.clear();
        if (v < 0)
            sign = -1, v = -v;
        for (; v > 0; v = v / base)
            a.push_back(v % base);
    }

    bigint operator+(const bigint &v) const
    {
        if (sign == v.sign)
        {
            bigint res = v;

            for (int i = 0, carry = 0; i < (int)max(a.size(), v.a.size()) || carry; ++i)
            {
                if (i == (int)res.a.size())
                    res.a.push_back(0);
                res.a[i] += carry + (i < (int)a.size() ? a[i] : 0);
                carry = res.a[i] >= base;
                if (carry)
                    res.a[i] -= base;
            }
            return res;
        }
        return *this - (-v);
    }

    bigint operator-(const bigint &v) const
    {
        if (sign == v.sign)
        {
            if (abs() >= v.abs())
            {
                bigint res = *this;
                for (int i = 0, carry = 0; i < (int)v.a.size() || carry; ++i)
                {
                    res.a[i] -= carry + (i < (int)v.a.size() ? v.a[i] : 0);
                    carry = res.a[i] < 0;
                    if (carry)
                        res.a[i] += base;
                }
                res.trim();
                return res;
            }
            return -(v - *this);
        }
        return *this + (-v);
    }

    void operator*=(int v)
    {
        if (v < 0)
            sign = -sign, v = -v;
        for (int i = 0, carry = 0; i < (int)a.size() || carry; ++i)
        {
            if (i == (int)a.size())
                a.push_back(0);
            long long cur = a[i] * (long long)v + carry;
            carry = (int)(cur / base);
            a[i] = (int)(cur % base);
            // asm("divl %%ecx" : "=a"(carry), "=d"(a[i]) : "A"(cur), "c"(base));
        }
        trim();
    }

    bigint operator*(int v) const
    {
        bigint res = *this;
        res *= v;
        return res;
    }

    void operator*=(long long v)
    {
        if (v < 0)
            sign = -sign, v = -v;
        if (v > base)
        {
            *this = *this * (v / base) * base + *this * (v % base);
            return;
        }
        for (int i = 0, carry = 0; i < (int)a.size() || carry; ++i)
        {
            if (i == (int)a.size())
                a.push_back(0);
            long long cur = a[i] * (long long)v + carry;
            carry = (int)(cur / base);
            a[i] = (int)(cur % base);
            // asm("divl %%ecx" : "=a"(carry), "=d"(a[i]) : "A"(cur), "c"(base));
        }
        trim();
    }

    bigint operator*(long long v) const
    {
        bigint res = *this;
        res *= v;
        return res;
    }

    friend pair<bigint, bigint> divmod(const bigint &a1, const bigint &b1)
    {
        int norm = base / (b1.a.back() + 1);
        bigint a = a1.abs() * norm;
        bigint b = b1.abs() * norm;
        bigint q, r;
        q.a.resize(a.a.size());

        for (int i = a.a.size() - 1; i >= 0; i--)
        {
            r *= base;
            r += a.a[i];
            int s1 = r.a.size() <= b.a.size() ? 0 : r.a[b.a.size()];
            int s2 = r.a.size() <= b.a.size() - 1 ? 0 : r.a[b.a.size() - 1];
            int d = ((long long)base * s1 + s2) / b.a.back();
            r -= b * d;
            while (r < 0)
                r += b, --d;
            q.a[i] = d;
        }

        q.sign = a1.sign * b1.sign;
        r.sign = a1.sign;
        q.trim();
        r.trim();
        return make_pair(q, r / norm);
    }

    bigint operator/(const bigint &v) const
    {
        return divmod(*this, v).first;
    }

    bigint operator%(const bigint &v) const
    {
        return divmod(*this, v).second;
    }

    void operator/=(int v)
    {
        if (v < 0)
            sign = -sign, v = -v;
        for (int i = (int)a.size() - 1, rem = 0; i >= 0; --i)
        {
            long long cur = a[i] + rem * (long long)base;
            a[i] = (int)(cur / v);
            rem = (int)(cur % v);
        }
        trim();
    }

    bigint operator/(int v) const
    {
        bigint res = *this;
        res /= v;
        return res;
    }

    int operator%(int v) const
    {
        if (v < 0)
            v = -v;
        int m = 0;
        for (int i = a.size() - 1; i >= 0; --i)
            m = (a[i] + m * (long long)base) % v;
        return m * sign;
    }

    void operator+=(const bigint &v)
    {
        *this = *this + v;
    }
    void operator-=(const bigint &v)
    {
        *this = *this - v;
    }
    void operator*=(const bigint &v)
    {
        *this = *this * v;
    }
    void operator/=(const bigint &v)
    {
        *this = *this / v;
    }

    bool operator<(const bigint &v) const
    {
        if (sign != v.sign)
            return sign < v.sign;
        if (a.size() != v.a.size())
            return a.size() * sign < v.a.size() * v.sign;
        for (int i = a.size() - 1; i >= 0; i--)
            if (a[i] != v.a[i])
                return a[i] * sign < v.a[i] * sign;
        return false;
    }

    bool operator>(const bigint &v) const
    {
        return v < *this;
    }
    bool operator<=(const bigint &v) const
    {
        return !(v < *this);
    }
    bool operator>=(const bigint &v) const
    {
        return !(*this < v);
    }
    bool operator==(const bigint &v) const
    {
        return !(*this < v) && !(v < *this);
    }
    bool operator!=(const bigint &v) const
    {
        return *this < v || v < *this;
    }

    void trim()
    {
        while (!a.empty() && !a.back())
            a.pop_back();
        if (a.empty())
            sign = 1;
    }

    bool isZero() const
    {
        return a.empty() || (a.size() == 1 && !a[0]);
    }

    bigint operator-() const
    {
        bigint res = *this;
        res.sign = -sign;
        return res;
    }

    bigint abs() const
    {
        bigint res = *this;
        res.sign *= res.sign;
        return res;
    }

    long long longValue() const
    {
        long long res = 0;
        for (int i = a.size() - 1; i >= 0; i--)
            res = res * base + a[i];
        return res * sign;
    }

    friend bigint gcd(const bigint &a, const bigint &b)
    {
        return b.isZero() ? a : gcd(b, a % b);
    }
    friend bigint lcm(const bigint &a, const bigint &b)
    {
        return a / gcd(a, b) * b;
    }

    void read(const string &s)
    {
        sign = 1;
        a.clear();
        int pos = 0;
        while (pos < (int)s.size() && (s[pos] == '-' || s[pos] == '+'))
        {
            if (s[pos] == '-')
                sign = -sign;
            ++pos;
        }
        for (int i = s.size() - 1; i >= pos; i -= base_digits)
        {
            int x = 0;
            for (int j = max(pos, i - base_digits + 1); j <= i; j++)
                x = x * 10 + s[j] - '0';
            a.push_back(x);
        }
        trim();
    }

    friend istream &operator>>(istream &stream, bigint &v)
    {
        string s;
        stream >> s;
        v.read(s);
        return stream;
    }

    friend ostream &operator<<(ostream &stream, const bigint &v)
    {
        if (v.sign == -1)
            stream << '-';
        stream << (v.a.empty() ? 0 : v.a.back());
        for (int i = (int)v.a.size() - 2; i >= 0; --i)
            stream << setw(base_digits) << setfill('0') << v.a[i];
        return stream;
    }

    static vector<int> convert_base(const vector<int> &a, int old_digits, int new_digits)
    {
        vector<long long> p(max(old_digits, new_digits) + 1);
        p[0] = 1;
        for (int i = 1; i < (int)p.size(); i++)
            p[i] = p[i - 1] * 10;
        vector<int> res;
        long long cur = 0;
        int cur_digits = 0;
        for (int i = 0; i < (int)a.size(); i++)
        {
            cur += a[i] * p[cur_digits];
            cur_digits += old_digits;
            while (cur_digits >= new_digits)
            {
                res.push_back(int(cur % p[new_digits]));
                cur /= p[new_digits];
                cur_digits -= new_digits;
            }
        }
        res.push_back((int)cur);
        while (!res.empty() && !res.back())
            res.pop_back();
        return res;
    }

    typedef vector<long long> vll;

    static vll karatsubaMultiply(const vll &a, const vll &b)
    {
        int n = a.size();
        vll res(n + n);
        if (n <= 32)
        {
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    res[i + j] += a[i] * b[j];
            return res;
        }

        int k = n >> 1;
        vll a1(a.begin(), a.begin() + k);
        vll a2(a.begin() + k, a.end());
        vll b1(b.begin(), b.begin() + k);
        vll b2(b.begin() + k, b.end());

        vll a1b1 = karatsubaMultiply(a1, b1);
        vll a2b2 = karatsubaMultiply(a2, b2);

        for (int i = 0; i < k; i++)
            a2[i] += a1[i];
        for (int i = 0; i < k; i++)
            b2[i] += b1[i];

        vll r = karatsubaMultiply(a2, b2);
        for (int i = 0; i < (int)a1b1.size(); i++)
            r[i] -= a1b1[i];
        for (int i = 0; i < (int)a2b2.size(); i++)
            r[i] -= a2b2[i];

        for (int i = 0; i < (int)r.size(); i++)
            res[i + k] += r[i];
        for (int i = 0; i < (int)a1b1.size(); i++)
            res[i] += a1b1[i];
        for (int i = 0; i < (int)a2b2.size(); i++)
            res[i + n] += a2b2[i];
        return res;
    }

    bigint operator*(const bigint &v) const
    {
        vector<int> a6 = convert_base(this->a, base_digits, 6);
        vector<int> b6 = convert_base(v.a, base_digits, 6);
        vll a(a6.begin(), a6.end());
        vll b(b6.begin(), b6.end());
        while (a.size() < b.size())
            a.push_back(0);
        while (b.size() < a.size())
            b.push_back(0);
        while (a.size() & (a.size() - 1))
            a.push_back(0), b.push_back(0);
        vll c = karatsubaMultiply(a, b);
        bigint res;
        res.sign = sign * v.sign;
        for (int i = 0, carry = 0; i < (int)c.size(); i++)
        {
            long long cur = c[i] + carry;
            res.a.push_back((int)(cur % 1000000));
            carry = (int)(cur / 1000000);
        }
        res.a = convert_base(res.a, 6, base_digits);
        res.trim();
        return res;
    }
};

signed main()
{
    #ifndef ONLINE_JUDGE
    freopen("thu.inp","r",stdin);
    #endif
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    int d4,d6,d8,d12,d20;
    cin>>d4>>d6>>d8>>d12>>d20;
    int N = d4+d6+d8+d12+d20;
    vector<int> a;
    for (int i=1;i<=d4;i++) a.push_back(4);
    for (int i=1;i<=d6;i++) a.push_back(6);
    for (int i=1;i<=d8;i++) a.push_back(8);
    for (int i=1;i<=d12;i++) a.push_back(12);
    for (int i=1;i<=d20;i++) a.push_back(20);
    vector<vector<bigint>> dp(N+5, vector<bigint>(550, 0));
    for (int i = 1; i <= a[0]; i++) dp[1][i] = 1;
    for (int i = 2; i <= N; i++) {
        for (int j = 1; j <= 500; j++) {
            for (int k = 1; k <= a[i-1]; k++) {
                if (j - k > 0 && dp[i-1][j-k] > 0) 
                {
                    dp[i][j] += dp[i-1][j-k];
                }
            }
        }
    }
    vector<bigint> f(550, 0);
    // deb(dp[N][1]);
    for (int i = 1; i <= 500; i++) {
        if (dp[N][i] > 0 && i >= N) {
            f[i] += dp[N][i];
        }
    }
    // deb(f[1]);
    vector<int> ans;

    for (int i = 1; i <= 500; i++)
        if (f[i] > 0) 
        {
            ans.push_back(i);
        }
    sort(ans.begin(), ans.end(), [&](int x,int y) {
        return f[x] > f[y];
    });

    for (int i = 0; i < ans.size(); i++) cout<<ans[i]<<" ";
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 4000kb

input:

1 1 1 0 0

output:

10 11 9 12 8 13 7 14 6 15 5 16 4 17 3 18 

result:

ok correct

Test #2:

score: 0
Accepted
time: 1ms
memory: 3996kb

input:

2 0 0 1 0

output:

9 10 11 12 13 14 8 15 7 16 6 17 5 18 4 19 3 20 

result:

ok correct

Test #3:

score: 0
Accepted
time: 0ms
memory: 3984kb

input:

0 0 0 0 1

output:

11 20 19 18 17 16 15 14 13 12 1 10 9 8 7 6 5 4 3 2 

result:

ok correct

Test #4:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

1 0 0 0 0

output:

1 2 3 4 

result:

ok correct

Test #5:

score: 0
Accepted
time: 0ms
memory: 3756kb

input:

0 1 0 0 0

output:

1 2 3 4 5 6 

result:

ok correct

Test #6:

score: 0
Accepted
time: 0ms
memory: 3924kb

input:

0 0 1 0 0

output:

1 2 3 4 5 6 7 8 

result:

ok correct

Test #7:

score: 0
Accepted
time: 0ms
memory: 3800kb

input:

0 0 0 1 0

output:

1 2 3 4 5 6 7 8 9 10 11 12 

result:

ok correct

Test #8:

score: 0
Accepted
time: 1ms
memory: 3996kb

input:

10 0 0 0 0

output:

25 26 24 27 23 28 22 29 21 20 30 19 31 18 32 17 33 16 34 35 15 14 36 13 37 38 12 39 11 10 40 

result:

ok correct

Test #9:

score: 0
Accepted
time: 1ms
memory: 3828kb

input:

0 8 0 0 0

output:

28 27 29 26 30 25 31 32 24 33 23 34 22 35 21 36 20 37 19 18 38 17 39 16 40 15 41 14 42 43 13 12 44 11 45 46 10 47 9 8 48 

result:

ok correct

Test #10:

score: 0
Accepted
time: 1ms
memory: 3648kb

input:

0 0 9 0 0

output:

41 40 42 39 43 38 37 44 36 45 35 46 34 47 33 48 32 49 31 50 51 30 29 52 28 53 27 54 26 55 25 56 24 57 23 58 22 59 21 60 61 20 19 62 18 63 17 64 16 65 15 66 67 14 13 68 12 69 70 11 71 10 9 72 

result:

ok correct

Test #11:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

0 0 0 3 0

output:

20 19 21 18 22 17 23 16 24 15 14 25 13 26 12 27 11 28 10 29 9 30 31 8 7 32 6 33 34 5 35 4 3 36 

result:

ok correct

Test #12:

score: 0
Accepted
time: 1ms
memory: 3880kb

input:

0 0 0 0 10

output:

105 106 104 103 107 108 102 101 109 100 110 99 111 98 112 97 113 96 114 95 115 94 116 93 117 92 118 91 119 90 120 89 121 122 88 87 123 124 86 125 85 84 126 83 127 128 82 81 129 80 130 131 79 132 78 133 77 134 76 135 75 136 74 73 137 72 138 139 71 140 70 141 69 68 142 67 143 66 144 145 65 64 146 63 1...

result:

ok correct

Test #13:

score: 0
Accepted
time: 6ms
memory: 4848kb

input:

10 10 10 10 10

output:

275 274 276 273 277 272 278 271 279 270 280 269 281 282 268 283 267 284 266 285 265 264 286 287 263 288 262 289 261 260 290 259 291 292 258 293 257 294 256 255 295 296 254 297 253 298 252 299 251 300 250 249 301 248 302 247 303 246 304 245 305 244 306 243 307 242 308 241 309 240 310 239 311 238 312 ...

result:

ok correct

Test #14:

score: 0
Accepted
time: 2ms
memory: 4420kb

input:

8 3 4 2 9

output:

156 155 157 154 158 153 159 152 160 151 161 150 162 163 149 164 148 165 147 166 146 145 167 168 144 169 143 170 142 171 141 172 140 173 139 138 174 137 175 136 176 135 177 134 178 133 179 132 180 131 181 130 182 129 183 128 184 185 127 186 126 125 187 124 188 123 189 122 190 121 191 120 192 193 119 ...

result:

ok correct

Test #15:

score: 0
Accepted
time: 3ms
memory: 4360kb

input:

10 1 3 6 10

output:

186 187 185 184 188 183 189 182 190 181 191 180 192 179 193 178 194 195 177 196 176 175 197 174 198 173 199 172 200 171 201 170 202 169 203 168 204 167 205 206 166 165 207 208 164 209 163 210 162 211 161 212 160 213 159 214 158 215 157 216 156 217 155 218 154 219 153 220 152 151 221 222 150 149 223 ...

result:

ok correct

Test #16:

score: 0
Accepted
time: 1ms
memory: 4396kb

input:

9 6 2 1 5

output:

111 112 110 113 109 114 108 115 107 116 106 117 105 118 104 119 103 120 121 102 101 122 100 123 124 99 125 98 126 97 127 96 128 95 129 94 130 93 131 92 91 132 133 90 134 89 135 88 136 87 137 86 138 85 139 84 140 83 141 82 81 142 80 143 79 144 78 145 77 146 76 147 75 148 149 74 73 150 72 151 71 152 1...

result:

ok correct

Test #17:

score: 0
Accepted
time: 1ms
memory: 4052kb

input:

6 6 0 8 0

output:

88 87 89 86 90 85 91 84 92 83 93 82 94 81 95 80 96 97 79 98 78 99 77 100 76 101 75 102 74 103 73 72 104 71 105 106 70 107 69 68 108 67 109 66 110 65 111 64 112 113 63 114 62 61 115 116 60 117 59 118 58 119 57 56 120 55 121 122 54 123 53 124 52 125 51 126 50 49 127 48 128 47 129 130 46 131 45 132 44 ...

result:

ok correct

Test #18:

score: 0
Accepted
time: 3ms
memory: 4488kb

input:

7 0 1 7 10

output:

173 172 174 171 175 170 176 169 177 168 178 167 166 179 165 180 181 164 182 163 183 162 184 161 185 160 186 159 187 158 157 188 156 189 155 190 154 191 192 153 193 152 151 194 150 195 196 149 197 148 198 147 199 146 200 145 201 144 202 143 203 142 141 204 140 205 139 206 207 138 137 208 209 136 210 ...

result:

ok correct

Test #19:

score: 0
Accepted
time: 4ms
memory: 4372kb

input:

9 1 6 10 9

output:

213 212 214 211 215 210 216 209 217 208 207 218 206 219 205 220 221 204 203 222 202 223 224 201 225 200 199 226 198 227 197 228 196 229 195 230 231 194 232 193 192 233 191 234 235 190 236 189 237 188 187 238 186 239 185 240 184 241 242 183 243 182 244 181 180 245 179 246 178 247 177 248 176 249 175 ...

result:

ok correct

Test #20:

score: 0
Accepted
time: 0ms
memory: 4304kb

input:

0 0 10 10 9

output:

205 204 206 203 207 202 208 201 209 200 199 210 198 211 197 212 196 213 195 214 215 194 193 216 192 217 218 191 219 190 189 220 188 221 187 222 223 186 185 224 184 225 183 226 182 227 228 181 180 229 179 230 231 178 177 232 176 233 175 234 235 174 173 236 172 237 171 238 170 239 169 240 168 241 167 ...

result:

ok correct

Test #21:

score: 0
Accepted
time: 0ms
memory: 4036kb

input:

9 1 6 4 3

output:

110 111 109 112 108 113 107 114 106 115 105 116 104 117 103 118 102 119 101 120 121 100 99 122 98 123 124 97 125 96 126 95 127 94 93 128 129 92 130 91 131 90 89 132 133 88 134 87 135 86 136 85 137 84 83 138 139 82 140 81 141 80 79 142 78 143 144 77 76 145 75 146 74 147 73 148 72 149 71 150 151 70 69...

result:

ok correct

Test #22:

score: 0
Accepted
time: 3ms
memory: 4536kb

input:

2 8 8 1 10

output:

181 180 182 179 183 178 184 177 185 176 186 175 187 174 173 188 172 189 171 190 170 191 169 192 168 193 167 194 195 166 165 196 164 197 163 198 162 199 161 200 160 201 159 202 203 158 157 204 205 156 206 155 154 207 153 208 152 209 151 210 211 150 212 149 213 148 214 147 215 146 216 145 217 144 218 ...

result:

ok correct

Test #23:

score: 0
Accepted
time: 3ms
memory: 4364kb

input:

4 9 4 9 5

output:

170 171 169 172 168 173 174 167 175 166 176 165 177 164 163 178 162 179 161 180 181 160 159 182 183 158 157 184 156 185 186 155 187 154 188 153 189 152 190 151 191 150 192 149 193 148 194 147 146 195 196 145 144 197 198 143 199 142 141 200 140 201 139 202 138 203 204 137 136 205 206 135 134 207 133 ...

result:

ok correct

Test #24:

score: 0
Accepted
time: 4ms
memory: 4460kb

input:

9 8 0 10 10

output:

220 221 219 222 218 223 217 224 216 225 215 226 214 227 213 228 212 229 211 230 210 231 209 232 233 208 207 234 235 206 236 205 204 237 238 203 239 202 201 240 241 200 199 242 243 198 197 244 245 196 246 195 194 247 248 193 249 192 191 250 190 251 189 252 253 188 187 254 255 186 185 256 257 184 258 ...

result:

ok correct

Test #25:

score: 0
Accepted
time: 2ms
memory: 4240kb

input:

1 8 6 4 6

output:

146 147 145 148 144 149 143 150 142 151 141 152 140 153 154 139 155 138 156 137 157 136 158 135 159 134 133 160 161 132 162 131 163 130 164 129 165 128 166 127 126 167 125 168 124 169 123 170 122 171 121 172 120 173 119 174 175 118 117 176 177 116 178 115 179 114 180 113 181 112 111 182 183 110 184 ...

result:

ok correct

Test #26:

score: 0
Accepted
time: 2ms
memory: 4196kb

input:

5 7 2 8 3

output:

129 130 131 128 132 127 133 126 134 125 135 124 136 123 137 122 138 121 139 120 119 140 118 141 117 142 116 143 115 144 145 114 113 146 112 147 111 148 149 110 150 109 108 151 107 152 153 106 154 105 155 104 156 103 157 102 158 101 159 100 160 99 161 98 162 97 96 163 164 95 94 165 93 166 92 167 91 1...

result:

ok correct

Test #27:

score: 0
Accepted
time: 1ms
memory: 4200kb

input:

7 5 9 0 2

output:

96 97 95 98 94 99 93 100 101 92 91 102 90 103 89 104 88 105 87 106 86 107 108 85 109 84 110 83 111 82 81 112 113 80 114 79 115 78 116 77 117 76 75 118 119 74 120 73 121 72 122 71 123 70 69 124 125 68 67 126 66 127 128 65 129 64 130 63 131 62 61 132 60 133 59 134 58 135 136 57 137 56 138 55 139 54 14...

result:

ok correct

Test #28:

score: 0
Accepted
time: 0ms
memory: 4632kb

input:

9 6 4 10 4

output:

169 168 170 167 171 166 172 165 164 173 174 163 162 175 161 176 160 177 159 178 158 179 157 180 181 156 182 155 183 154 184 153 185 152 186 151 187 150 188 149 148 189 147 190 146 191 145 192 144 193 143 194 142 195 196 141 197 140 198 139 199 138 200 137 201 136 202 135 134 203 133 204 132 205 131 ...

result:

ok correct

Test #29:

score: 0
Accepted
time: 4ms
memory: 4680kb

input:

4 5 8 9 8

output:

206 207 205 208 204 209 203 210 202 211 201 212 200 213 199 214 198 197 215 196 216 195 217 194 218 193 219 220 192 191 221 190 222 223 189 224 188 187 225 186 226 185 227 228 184 183 229 182 230 231 181 232 180 233 179 234 178 235 177 236 176 175 237 238 174 239 173 240 172 241 171 242 170 169 243 ...

result:

ok correct

Test #30:

score: 0
Accepted
time: 3ms
memory: 4380kb

input:

7 0 9 7 8

output:

187 188 186 189 185 190 184 191 183 192 182 193 181 194 195 180 196 179 197 178 177 198 199 176 175 200 174 201 202 173 172 203 204 171 205 170 169 206 168 207 167 208 166 209 210 165 211 164 212 163 213 162 214 161 215 160 216 159 217 158 218 157 219 156 220 155 221 154 153 222 223 152 151 224 225 ...

result:

ok correct

Test #31:

score: 0
Accepted
time: 2ms
memory: 4668kb

input:

7 4 2 10 10

output:

211 210 212 209 213 208 214 207 215 206 205 216 204 217 203 218 219 202 201 220 200 221 222 199 223 198 197 224 196 225 195 226 194 227 193 228 229 192 230 191 190 231 189 232 233 188 234 187 235 186 185 236 184 237 183 238 182 239 240 181 241 180 242 179 178 243 177 244 176 245 175 246 174 247 173 ...

result:

ok correct

Test #32:

score: 0
Accepted
time: 1ms
memory: 4068kb

input:

6 8 0 4 3

output:

101 100 102 99 103 98 104 97 105 96 95 106 94 107 93 108 92 109 91 110 90 111 89 112 88 113 114 87 115 86 85 116 117 84 83 118 119 82 120 81 121 80 122 79 123 78 124 77 125 76 126 75 74 127 73 128 72 129 71 130 70 131 69 132 133 68 67 134 135 66 65 136 64 137 138 63 139 62 140 61 141 60 59 142 58 14...

result:

ok correct

Test #33:

score: 0
Accepted
time: 1ms
memory: 4024kb

input:

1 7 5 1 4

output:

98 99 97 100 96 101 95 102 94 93 103 92 104 91 105 106 90 89 107 88 108 87 109 86 110 85 111 112 84 83 113 114 82 81 115 116 80 117 79 118 78 119 77 120 76 121 75 122 74 123 73 72 124 71 125 70 126 69 127 68 128 67 129 66 130 131 65 64 132 133 63 62 134 61 135 136 60 137 59 138 58 139 57 56 140 55 1...

result:

ok correct

Test #34:

score: 0
Accepted
time: 0ms
memory: 3764kb

input:

1 1 0 0 0

output:

5 6 7 4 8 3 9 2 10 

result:

ok correct

Test #35:

score: 0
Accepted
time: 0ms
memory: 3768kb

input:

1 0 1 0 0

output:

5 6 7 8 9 4 10 3 11 2 12 

result:

ok correct

Test #36:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

0 1 1 0 0

output:

7 8 9 6 10 5 11 4 12 3 13 2 14 

result:

ok correct

Test #37:

score: 0
Accepted
time: 1ms
memory: 3764kb

input:

1 0 0 1 0

output:

5 6 7 8 9 10 11 12 13 4 14 3 15 2 16 

result:

ok correct

Test #38:

score: 0
Accepted
time: 1ms
memory: 3936kb

input:

3 0 0 1 0

output:

13 14 15 12 16 11 17 10 18 9 19 20 8 21 7 22 6 23 5 4 24 

result:

ok correct

Test #39:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

1 1 0 1 0

output:

11 12 13 14 10 15 9 16 8 17 18 7 19 6 20 5 21 4 3 22 

result:

ok correct

Test #40:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

0 1 0 1 0

output:

7 8 9 10 11 12 13 6 14 5 15 4 16 3 17 2 18 

result:

ok correct

Test #41:

score: 0
Accepted
time: 0ms
memory: 3700kb

input:

0 0 1 1 0

output:

9 10 11 12 13 8 14 7 15 16 6 17 5 18 4 19 3 2 20 

result:

ok correct

Test #42:

score: 0
Accepted
time: 0ms
memory: 3724kb

input:

1 0 0 0 1

output:

11 19 18 17 16 15 14 13 12 10 9 8 7 6 5 20 21 22 4 23 3 2 24 

result:

ok correct

Test #43:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

2 0 0 0 1

output:

22 21 20 19 18 9 10 11 12 13 14 15 16 17 23 8 7 24 6 25 26 5 27 4 3 28 

result:

ok correct

Test #44:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

3 0 0 0 1

output:

13 21 20 19 18 17 16 15 14 22 23 12 24 11 25 10 26 27 9 8 28 7 29 30 6 31 5 4 32 

result:

ok correct

Test #45:

score: 0
Accepted
time: 0ms
memory: 3936kb

input:

4 0 0 0 1

output:

24 23 22 21 20 19 18 17 25 16 15 26 14 27 13 28 12 29 11 30 31 10 9 32 8 33 34 7 35 6 5 36 

result:

ok correct

Test #46:

score: 0
Accepted
time: 1ms
memory: 3648kb

input:

5 0 0 0 1

output:

25 24 23 22 21 26 20 27 19 28 18 29 17 16 30 15 31 14 32 13 33 12 34 35 11 10 36 9 37 38 8 39 7 6 40 

result:

ok correct

Test #47:

score: 0
Accepted
time: 1ms
memory: 3932kb

input:

4 1 0 0 1

output:

25 24 23 26 22 27 21 28 20 29 19 30 18 31 17 16 32 15 33 14 34 13 35 12 36 37 11 10 38 9 39 40 8 41 7 6 42 

result:

ok correct

Test #48:

score: 0
Accepted
time: 1ms
memory: 3936kb

input:

3 1 0 0 1

output:

24 23 22 21 20 19 25 18 26 17 16 27 15 28 14 29 13 30 12 31 11 32 33 10 9 34 8 35 36 7 37 6 5 38 

result:

ok correct

Test #49:

score: 0
Accepted
time: 0ms
memory: 3764kb

input:

3 0 1 0 1

output:

24 23 22 21 25 20 26 19 27 18 28 17 29 16 15 30 14 31 13 32 12 33 11 34 35 10 9 36 8 37 38 7 39 6 5 40 

result:

ok correct

Test #50:

score: 0
Accepted
time: 0ms
memory: 3776kb

input:

2 1 0 0 1

output:

23 22 21 20 19 18 17 16 15 14 24 13 25 12 26 11 27 10 28 29 9 8 30 7 31 32 6 33 5 4 34 

result:

ok correct

Test #51:

score: 0
Accepted
time: 0ms
memory: 3988kb

input:

2 2 0 0 1

output:

24 23 22 21 25 20 26 19 27 18 28 17 29 16 15 30 14 31 13 32 12 33 11 34 35 10 9 36 8 37 38 7 39 6 5 40 

result:

ok correct

Test #52:

score: 0
Accepted
time: 1ms
memory: 4000kb

input:

2 0 1 0 1

output:

23 22 21 20 19 18 17 24 16 15 25 14 26 13 27 12 28 11 29 10 30 31 9 8 32 7 33 34 6 35 5 4 36 

result:

ok correct

Test #53:

score: 0
Accepted
time: 1ms
memory: 3700kb

input:

2 0 0 1 1

output:

23 22 21 24 20 25 19 26 18 27 17 28 16 29 15 14 30 13 31 12 32 11 33 10 34 35 9 8 36 7 37 38 6 39 5 4 40 

result:

ok correct

Test #54:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

1 1 0 0 1

output:

11 19 18 17 16 15 14 13 12 20 21 22 10 23 9 24 25 8 7 26 6 27 28 5 29 4 3 30 

result:

ok correct

Test #55:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

1 2 0 0 1

output:

23 22 21 20 19 18 17 24 16 15 25 14 26 13 27 12 28 11 29 10 30 31 9 8 32 7 33 34 6 35 5 4 36 

result:

ok correct

Test #56:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

1 1 1 0 1

output:

23 22 21 20 19 24 18 25 17 26 16 27 15 14 28 13 29 12 30 11 31 10 32 33 9 8 34 7 35 36 6 37 5 4 38 

result:

ok correct

Test #57:

score: 0
Accepted
time: 0ms
memory: 3936kb

input:

1 0 1 0 1

output:

21 20 19 18 22 17 16 15 14 13 12 23 11 24 10 25 9 26 27 8 7 28 6 29 30 5 31 4 3 32 

result:

ok correct

Test #58:

score: 0
Accepted
time: 1ms
memory: 3764kb

input:

1 0 2 0 1

output:

23 22 21 24 20 25 19 26 18 27 17 28 16 29 15 14 30 13 31 12 32 11 33 10 34 35 9 8 36 7 37 38 6 39 5 4 40 

result:

ok correct

Test #59:

score: 0
Accepted
time: 0ms
memory: 3652kb

input:

1 0 0 1 1

output:

22 21 20 19 18 17 23 16 24 15 14 25 13 26 12 27 11 28 10 29 9 30 31 8 7 32 6 33 34 5 35 4 3 36 

result:

ok correct

Test #60:

score: 0
Accepted
time: 0ms
memory: 3772kb

input:

0 1 0 0 1

output:

12 21 20 19 18 17 16 15 14 13 11 10 9 8 7 6 22 5 23 24 4 25 3 2 26 

result:

ok correct

Test #61:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

0 2 0 0 1

output:

21 20 19 18 22 17 16 15 14 13 12 23 11 24 10 25 9 26 27 8 7 28 6 29 30 5 31 4 3 32 

result:

ok correct

Test #62:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

0 3 0 0 1

output:

23 22 21 20 19 24 18 25 17 26 16 27 15 14 28 13 29 12 30 11 31 10 32 33 9 8 34 7 35 36 6 37 5 4 38 

result:

ok correct

Test #63:

score: 0
Accepted
time: 1ms
memory: 3708kb

input:

0 2 1 0 1

output:

23 22 21 24 20 25 19 26 18 27 17 28 16 29 15 14 30 13 31 12 32 11 33 10 34 35 9 8 36 7 37 38 6 39 5 4 40 

result:

ok correct

Test #64:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

0 1 1 0 1

output:

22 21 20 19 18 17 16 15 23 14 13 24 12 25 11 26 10 27 9 28 29 8 7 30 6 31 32 5 33 4 3 34 

result:

ok correct

Test #65:

score: 0
Accepted
time: 0ms
memory: 3652kb

input:

0 1 0 1 1

output:

22 21 20 19 23 18 24 17 25 16 26 15 27 14 13 28 12 29 11 30 10 31 9 32 33 8 7 34 6 35 36 5 37 4 3 38 

result:

ok correct

Test #66:

score: 0
Accepted
time: 0ms
memory: 3768kb

input:

0 0 1 0 1

output:

21 20 19 18 9 10 11 12 13 14 15 16 17 22 8 23 7 6 24 5 25 26 4 27 3 2 28 

result:

ok correct

Test #67:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

0 0 2 0 1

output:

22 21 20 19 18 17 23 16 24 15 14 25 13 26 12 27 11 28 10 29 9 30 31 8 7 32 6 33 34 5 35 4 3 36 

result:

ok correct

Test #68:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

0 0 0 1 1

output:

21 20 19 18 17 16 15 14 13 12 22 11 23 10 24 9 25 8 26 27 7 6 28 5 29 30 4 31 3 2 32 

result:

ok correct

Test #69:

score: 0
Accepted
time: 6ms
memory: 4708kb

input:

9 10 10 10 10

output:

272 273 274 271 270 275 276 269 268 277 267 278 266 279 265 280 264 281 263 282 262 283 284 261 285 260 286 259 287 258 288 257 289 256 290 255 254 291 292 253 293 252 294 251 295 250 296 249 297 248 247 298 246 299 245 300 301 244 243 302 242 303 241 304 305 240 239 306 238 307 237 308 309 236 235 ...

result:

ok correct

Test #70:

score: 0
Accepted
time: 6ms
memory: 5020kb

input:

10 9 10 10 10

output:

271 272 273 270 269 274 275 268 267 276 266 277 265 278 264 279 263 280 262 281 261 282 260 283 284 259 285 258 286 257 287 256 288 255 289 254 253 290 291 252 292 251 293 250 294 249 295 248 247 296 246 297 245 298 299 244 243 300 242 301 241 302 303 240 239 304 238 305 237 306 307 236 235 308 234 ...

result:

ok correct

Test #71:

score: 0
Accepted
time: 6ms
memory: 4708kb

input:

10 10 9 10 10

output:

270 271 272 269 268 273 274 267 266 275 265 276 264 277 263 278 262 279 261 280 260 281 282 259 283 258 284 257 285 256 286 255 287 254 288 253 252 289 290 251 291 250 292 249 293 248 247 294 246 295 245 296 297 244 243 298 242 299 241 300 301 240 239 302 238 303 237 304 305 236 235 306 234 307 308 ...

result:

ok correct

Test #72:

score: 0
Accepted
time: 6ms
memory: 4852kb

input:

10 10 10 9 10

output:

268 269 270 267 266 271 272 265 264 273 263 274 262 275 261 276 260 277 259 278 258 279 280 257 281 256 282 255 283 254 284 253 285 252 286 251 287 250 288 249 289 248 247 290 246 291 245 292 293 244 243 294 242 295 241 296 297 240 239 298 238 299 237 300 301 236 235 302 234 303 304 233 305 232 306 ...

result:

ok correct

Test #73:

score: 0
Accepted
time: 6ms
memory: 4752kb

input:

10 10 10 10 9

output:

264 265 266 263 262 267 268 261 260 269 259 270 258 271 257 272 256 273 255 274 254 275 253 276 252 277 251 278 279 250 280 249 281 248 247 282 246 283 245 284 285 244 243 286 242 287 241 288 289 240 239 290 238 291 237 292 236 293 235 294 234 295 296 233 297 232 231 298 299 230 300 229 228 301 302 ...

result:

ok correct