제출 #495754

#제출 시각아이디문제언어결과실행 시간메모리
495754vinnipuh01Nice sequence (IZhO18_sequence)C++17
15 / 100
18 ms684 KiB
#include <iostream> #include <bits/stdc++.h> #include <cmath> #include <algorithm> #include <vector> #include <deque> #include <set> #include <stack> #include <string> #include <map> #include <queue> using namespace std; const long long oo = 1000000000000000000; long long int sum, ans = 0, mx = 0, mn = 1000000000, num, pos; /* ViHHiPuh (( `'-""``""-'` )) )-__-_.._-__-( / --- (o _ o) --- \ \ .-* ( .0. ) *-. / _'-. ,_ '=' _, .-'_ / `;#'#'# - #'#'#;` \ \_)) -----'#'----- ((_/ # --------- # '# ------- ------ #' /..-'# ------- #'-.\ _\...-\'# -- #'/-.../_ ((____)- '#' -(____)) cout << fixed << setprecision(6) << x; freopen ( "sum.in", "r", stdin ) */ int main () { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; int n, m; while ( t -- ) { cin >> n >> m; mn = min( n, m ); mx = max( n, m ); if ( n % m == 0 || m % n == 0 ) { if ( n > m ) { cout << n - 1 << "\n"; for ( int i = 1; i < n; i ++ ) cout << 1 << " "; } else { cout << m - 1 << "\n"; for ( int i = 1; i < m; i ++ ) cout << -1 << " "; } cout << "\n"; } else if ( min( n, m ) == 2 ) { cout << max( n, m ) << "\n"; mx = max( n, m ); if ( n == 2 ) { for ( int i = 1; i <= mx; i ++ ) { if ( i % 2 ) cout << mx << " "; else cout << ( mx * -1 ) - 1 << " "; } cout << "\n"; } else { for ( int i = 1; i <= mx; i ++ ) { if ( i % 2 == 0 ) cout << mx + 1 << " "; else cout << ( mx * -1 ) << " "; } cout << "\n"; } } else if ( abs( n - m ) <= 2 ) { if ( abs( n - m ) == 1 ) { if ( m > n ) { cout << max( n, m ) + 1 << "\n"; mx = max( n, m ); num = mx - 2; cout << num - 1 << " "; for ( int i = 1; i <= num; i ++ ) cout << "-1" << " "; cout << num - 1 << "\n"; } else { cout << max( n, m ) << "\n"; mx = max( n, m ); num = mx - 2; cout << (num - 1) * -1 << " "; for ( int i = 1; i <= num; i ++ ) cout << "1" << " "; cout << (num - 1) * -1 << "\n"; } } else { if ( m > n ) { cout << max( n, m ) << "\n"; mx = max( n, m ); num = mx - 4; sum = num * -1; if ( sum % 2 ) cout << sum / 2 << " " << sum / 2 << " "; else cout << sum / 2 - 1 << " " << sum / 2 - 1 << " "; for ( int i = 1; i <= num; i ++ ) cout << "-1 "; if ( sum % 2 ) cout << sum / 2 << " " << sum / 2 << " "; else cout << sum / 2 - 1 << " " << sum / 2 - 1 << " "; cout << "\n"; } else { cout << max( n, m ) << "\n"; mx = max( n, m ); num = mx - 4; num *= -1; sum = num * -1; if ( sum % 2 ) cout << sum / 2 << " " << sum / 2 << " "; else cout << sum / 2 - 1 << " " << sum / 2 - 1 << " "; for ( int i = 1; i <= num; i ++ ) cout << "1 "; if ( sum % 2 ) cout << sum / 2 << " " << sum / 2 << " "; else cout << sum / 2 - 1 << " " << sum / 2 - 1 << " "; cout << "\n"; } } } } }
#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...