Submission #175857

#TimeUsernameProblemLanguageResultExecution timeMemory
175857VEGAnnNice sequence (IZhO18_sequence)C++14
15 / 100
10 ms1144 KiB
#include <bits/stdc++.h>
#define sz(x) ((int)x.size())
#define PB push_back
using namespace std;
const int N = 200100;
const int PW = 20;

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);

    int qq; cin >> qq;
    for (; qq; qq--){
        int n, m;
        cin >> n >> m;
//        assert((max(n, m) % min(n, m)) == 0);
        if (n == m){
            cout << n - 1 << '\n';
            for (int i = 1; i < n; i++)
                cout << "1 ";
            cout << '\n';
            continue;
        }
        if (max(n, m) % min(n, m) == 0){
            if (n > m){
                cout << n - 1 << '\n';
                for (int i = 0; i < n - 1; i++)
                    if (i % m == 0)
                        cout << +int(1e8) << " " ;
                    else cout << "-1 ";
                cout << '\n';
            } else {
                cout << m - 1 << '\n';
                for (int i = 0; i < m - 1; i++)
                    if (i % n == 0)
                        cout << -int(1e8) << " " ;
                    else cout << "1 ";
                cout << '\n';
            }
            continue;
        }

        if (min(n, m) == 2){
            if (n > m){
                cout << n << '\n';
                for (int i = 0; i < n; i++)
                    if (i & 1)
                        cout << int(1e9) << " ";
                    else cout << -int(1e9) + 1 << " ";
                cout << '\n';
            } else {
                cout << m << '\n';
                for (int i = 0; i < m; i++)
                    if (i & 1)
                        cout << -int(1e9) << " ";
                    else cout << +int(1e9) - 1 << " ";
                cout << '\n';
            }
            continue;
        }

        int m1 = 1, m2 = -1;
        if (n > m){
            swap(n, m);
            m1 = -1; m2 = 1;
        }

        if (n == 3 && m == 4){
            cout << "5\n";
            cout << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << '\n';
            continue;
        }
        if (n == 3 && m == 5){
            cout << "5\n";
            cout << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << '\n';
            continue;
        }
        if (n == 3 && m == 7){
            cout << "7\n";
            cout << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << '\n';
            continue;
        }
        if (n == 3 && m == 8){
            cout << "8\n";
            cout << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << '\n';
            continue;
        }
        if (n == 3 && m == 10){
            cout << "10\n";
            cout << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << " " << m1 << " " << m2 * 3 << " " << m1 << '\n';
            continue;
        }

        return -1;

    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...