답안 #847096

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
847096 2023-09-09T06:54:36 Z GrandTiger1729 Nice sequence (IZhO18_sequence) C++17
15 / 100
6 ms 1116 KB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    cin.tie(0)->sync_with_stdio(0);
    int t; cin >> t;
    while (t--)
    {
        int n, m; cin >> n >> m;
        if (n == m)
        {
            cout << n - 1 << '\n';
            for (int i = 0; i < n - 1; i++)
                cout << 1 << " \n"[i == n - 2];
            continue;
        }
        bool flag = 0;
        if (n < m)
        {
            swap(n, m);
            flag = 1;
        }
        vector<int> ans;
        if (n % m == 0)
        {
            ans = vector<int>(n - 1, 1);
            if (flag)
            {
                for (int &i : ans)
                    i = -i;
            }
            cout << ans.size() << '\n';
            for (int i = 0; i < ans.size(); i++)
                cout << ans[i] << " \n"[i + 1 == ans.size()];
            continue;
        }
        if (m == 2)
        {
            ans = vector<int>(n, -1e8);
            for (int i = 1; i < n; i += 2)
                ans[i] = 1e8 + 1;
            if (flag)
            {
                for (int &i : ans)
                    i = -i;
            }
            cout << ans.size() << '\n';
            for (int i = 0; i < ans.size(); i++)
                cout << ans[i] << " \n"[i + 1 == ans.size()];
            continue;
        }
        if (n - m <= 2)
        {
            if (n - m == 1)
            {
                ans = vector<int>(2 * m - 1, -2);
                ans[m - 1] = 2 * m - 1;
            }
            else if (m % 2 == 1)
            {
                ans = vector<int>(2 * m, 1e8);
                for (int i = 1; i < m; i++)
                    ans[i] = ans[i + m] = -2e8 + 1;
            }
            else
            {
                ans = vector<int>(2 * m - 1, -2);
                ans[m - 1] = 2 * m - 1;
            }
            ans = vector<int>(n, -1e8);
            for (int i = 1; i < n; i += 2)
                ans[i] = 1e8 + 1;
            if (flag)
            {
                for (int &i : ans)
                    i = -i;
            }
            cout << ans.size() << '\n';
            for (int i = 0; i < ans.size(); i++)
                cout << ans[i] << " \n"[i + 1 == ans.size()];
            continue;
        }
        if (flag)
        {
            for (int &i : ans)
                i = -i;
        }
    }
    return 0;
}

Compilation message

sequence.cpp: In function 'int main()':
sequence.cpp:34:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |             for (int i = 0; i < ans.size(); i++)
      |                             ~~^~~~~~~~~~~~
sequence.cpp:35:47: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |                 cout << ans[i] << " \n"[i + 1 == ans.size()];
      |                                         ~~~~~~^~~~~~~~~~~~~
sequence.cpp:49:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |             for (int i = 0; i < ans.size(); i++)
      |                             ~~^~~~~~~~~~~~
sequence.cpp:50:47: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |                 cout << ans[i] << " \n"[i + 1 == ans.size()];
      |                                         ~~~~~~^~~~~~~~~~~~~
sequence.cpp:80:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   80 |             for (int i = 0; i < ans.size(); i++)
      |                             ~~^~~~~~~~~~~~
sequence.cpp:81:47: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |                 cout << ans[i] << " \n"[i + 1 == ans.size()];
      |                                         ~~~~~~^~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Ok
2 Correct 0 ms 348 KB Ok
3 Correct 0 ms 348 KB Ok
4 Correct 1 ms 344 KB Ok
5 Correct 1 ms 344 KB Ok
6 Correct 0 ms 348 KB Ok
7 Correct 0 ms 348 KB Ok
8 Correct 0 ms 348 KB Ok
9 Correct 0 ms 348 KB Ok
10 Correct 0 ms 348 KB Ok
11 Correct 0 ms 348 KB Ok
12 Correct 0 ms 348 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Ok
2 Correct 0 ms 348 KB Ok
3 Correct 0 ms 348 KB Ok
4 Correct 0 ms 348 KB Ok
5 Correct 0 ms 344 KB Ok
6 Correct 1 ms 348 KB Ok
7 Correct 5 ms 860 KB Ok
8 Correct 3 ms 604 KB Ok
9 Correct 6 ms 1116 KB Ok
10 Correct 3 ms 860 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Ok
2 Correct 0 ms 348 KB Ok
3 Correct 0 ms 348 KB Ok
4 Incorrect 0 ms 348 KB Jury has the better answer : jans = 9, pans = 2
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Jury has the better answer : jans = 5, pans = 4
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Ok
2 Correct 0 ms 348 KB Ok
3 Correct 0 ms 348 KB Ok
4 Correct 1 ms 344 KB Ok
5 Correct 1 ms 344 KB Ok
6 Correct 0 ms 348 KB Ok
7 Correct 0 ms 348 KB Ok
8 Correct 0 ms 348 KB Ok
9 Correct 0 ms 348 KB Ok
10 Correct 0 ms 348 KB Ok
11 Correct 0 ms 348 KB Ok
12 Correct 0 ms 348 KB Ok
13 Correct 0 ms 348 KB Ok
14 Correct 0 ms 348 KB Ok
15 Correct 0 ms 348 KB Ok
16 Incorrect 0 ms 348 KB Jury has the better answer : jans = 9, pans = 2
17 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Ok
2 Correct 0 ms 348 KB Ok
3 Correct 0 ms 348 KB Ok
4 Correct 1 ms 344 KB Ok
5 Correct 1 ms 344 KB Ok
6 Correct 0 ms 348 KB Ok
7 Correct 0 ms 348 KB Ok
8 Correct 0 ms 348 KB Ok
9 Correct 0 ms 348 KB Ok
10 Correct 0 ms 348 KB Ok
11 Correct 0 ms 348 KB Ok
12 Correct 0 ms 348 KB Ok
13 Correct 0 ms 348 KB Ok
14 Correct 0 ms 348 KB Ok
15 Correct 0 ms 348 KB Ok
16 Correct 0 ms 348 KB Ok
17 Correct 0 ms 344 KB Ok
18 Correct 1 ms 348 KB Ok
19 Correct 5 ms 860 KB Ok
20 Correct 3 ms 604 KB Ok
21 Correct 6 ms 1116 KB Ok
22 Correct 3 ms 860 KB Ok
23 Correct 0 ms 348 KB Ok
24 Correct 0 ms 348 KB Ok
25 Correct 0 ms 348 KB Ok
26 Incorrect 0 ms 348 KB Jury has the better answer : jans = 9, pans = 2
27 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Ok
2 Correct 0 ms 348 KB Ok
3 Correct 0 ms 348 KB Ok
4 Correct 1 ms 344 KB Ok
5 Correct 1 ms 344 KB Ok
6 Correct 0 ms 348 KB Ok
7 Correct 0 ms 348 KB Ok
8 Correct 0 ms 348 KB Ok
9 Correct 0 ms 348 KB Ok
10 Correct 0 ms 348 KB Ok
11 Correct 0 ms 348 KB Ok
12 Correct 0 ms 348 KB Ok
13 Correct 0 ms 348 KB Ok
14 Correct 0 ms 348 KB Ok
15 Correct 0 ms 348 KB Ok
16 Correct 0 ms 348 KB Ok
17 Correct 0 ms 344 KB Ok
18 Correct 1 ms 348 KB Ok
19 Correct 5 ms 860 KB Ok
20 Correct 3 ms 604 KB Ok
21 Correct 6 ms 1116 KB Ok
22 Correct 3 ms 860 KB Ok
23 Correct 0 ms 348 KB Ok
24 Correct 0 ms 348 KB Ok
25 Correct 0 ms 348 KB Ok
26 Incorrect 0 ms 348 KB Jury has the better answer : jans = 9, pans = 2
27 Halted 0 ms 0 KB -