답안 #398960

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
398960 2021-05-04T23:17:25 Z Mohammed_Alsaad 수열 (BOI14_sequence) C++17
0 / 100
3 ms 588 KB
#include <bits/stdc++.h>
using namespace std;

template <typename A, typename B> string to_string(pair<A, B> p);
template <typename A, typename B, typename C> string to_string(tuple<A, B, C> p);
template <typename A, typename B, typename C, typename D> string to_string(tuple<A, B, C, D> p);

string to_string(const string &s)
{
    return '"' + s + '"';
}
string to_string(const char *s)
{
    return to_string((string)s);
}
string to_string(bool b)
{
    return (b ? "true" : "false");
}
// string to_string(vector<bool> v)
// {
//     bool first = true;
//     string res = "{";
//     for (ll i = 0; i < static_cast<ll>(v.size()); i++)
//     {
//         if (!first)
//         {
//             res += ", ";
//         }
//         first = false;
//         res += to_string(v[i]);
//     }
//     res += "}";
//     return res;
// }
template <size_t N> string to_string(bitset<N> v)
{
    string res = "";
    for (size_t i = 0; i < N; i++)
    {
        res += static_cast<char>('0' + v[i]);
    }
    return res;
}
template <typename A> string to_string(A v)
{
    bool first = true;
    string res = "{";
    for (const auto &x : v)
    {
        if (!first)
        {
            res += ", ";
        }
        first = false;
        res += to_string(x);
    }
    res += "}";
    return res;
}
template <typename A, typename B> string to_string(pair<A, B> p)
{
    return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}
template <typename A, typename B, typename C> string to_string(tuple<A, B, C> p)
{
    return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ")";
}
template <typename A, typename B, typename C, typename D> string to_string(tuple<A, B, C, D> p)
{
    return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ", " +
           to_string(get<3>(p)) + ")";
}
void dbg_out()
{
    cout << endl;
}
template <typename Head, typename... Tail> void dbg_out(Head H, Tail... T)
{
    cout << " " << to_string(H);
    dbg_out(T...);
}

#define FAST_IO                                                                                                        \
    ios_base::sync_with_stdio(false);                                                                                  \
    cin.tie(NULL);                                                                                                     \
    cout.tie(NULL);

#define dbg(...) cout << "[" << #__VA_ARGS__ << "]:", dbg_out(__VA_ARGS__)
#define edl() cout << endl;

#define rep(i, a, b) for (ll i = a; i < b; i++)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define pb push_back
#define pf push_front

#define F first
#define S second

#define max_self(x, y) x = max(x, y)
#define min_self(x, y) x = min(x, y)

typedef long long ll;
ll const INF = 2147483647, R_INF = 9223372036854775807, MOD = 1e9 + 7;

// const ll mxN =

int main()
{
    FAST_IO;

    ll n;
    cin >> n;

    vector<ll> input(n);
    rep(i, 0, n) cin >> input[i];

    ll val = input.front() + !input.front(), ctr = 0;
    vector<ll> po(12);
    po[0] = 1;
    rep(i, 1, 12) po[i] = po[i - 1] * 10;

    while (po[ctr] < n)
        val *= 10, ctr++;

    if (input.front() == 9)
    {
        int sz = to_string(val).size();
        rep(i, 1, sz) cout << 8;
        cout << 9;
    }
    else if (!input.front())
    {
        string str = to_string(val);
        rep(i, 0, str.size()) if (str[i] == '0') str[i] = '1';
        str.pop_back();
        ll val2 = stoi(str);

        cout << val * (val2 >= n ? 1 : 10);
    }
    else
        cout << val;
}

/*



*/

Compilation message

sequence.cpp: In function 'int main()':
sequence.cpp:92:39: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   92 | #define rep(i, a, b) for (ll i = a; i < b; i++)
......
  137 |         rep(i, 0, str.size()) if (str[i] == '0') str[i] = '1';
      |             ~~~~~~~~~~~~~~~~           
sequence.cpp:137:9: note: in expansion of macro 'rep'
  137 |         rep(i, 0, str.size()) if (str[i] == '0') str[i] = '1';
      |         ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 588 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -