# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1116727 | 2024-11-22T08:57:29 Z | vjudge1 | Nice sequence (IZhO18_sequence) | C++17 | 3 ms | 764 KB |
#include <bits/stdc++.h> #pragma optimize("g", on) #pragma GCC optimize ("inline") #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize ("03") #pragma GCC target ("sse,sse2,sse3,ssse3,sse4,popcnt,abm,avx2,mmx,fma,avx,tune=native") void Freopen () { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif } using namespace std; #define fi first #define se second #define int long long const int N = 2e3 + 7; int pref[N]; void solve() { int n, m; cin>>n>>m; // if(min(n, m) == 2) { // if(n == 2) { // if(m % 2 == 0) { // cout << m - 1 << '\n'; // for(int i = 1; i < m; i++)cout << -1 << ' '; // cout << '\n'; // }else { // cout << m << '\n'; // int x = m + 1, y = -(m + 2); // for(int i = 1; i <= m; i++) { // if(i % 2)cout << x << ' '; // else cout << y << ' '; // } // cout << '\n'; // } // }else { // if(n % 2 == 0) { // cout << n - 1 << '\n'; // for(int i = 1; i < n; i++)cout << 1 << ' '; // cout << '\n'; // }else { // cout << n << '\n'; // int x = n + 2, y = -(n + 1); // for(int i = 1; i <= n; i++) { // if(i % 2)cout << y << ' '; // else cout << x << ' '; // } // cout << '\n'; // } // } // return; // } // if(__gcd(max(n, m), min(n, m)) == min(n, m)) { // if(n < m) { // cout << m - 1 << '\n'; // for(int i = 1; i < m; i++)cout << -1 << ' '; // cout << '\n'; // }else { // cout << n - 1 << '\n'; // for(int i = 1; i < n; i++)cout << 1 << ' '; // cout << '\n'; // } // return; // } if(n < m) { int mxx = 0; vector<int> vec; for(int jj = 1; jj <= N; jj++) { int x = jj, y = -(jj * n + 1); int pos = N; for(int i = 1; i < N; i++) { int j = (i % n == 0 ? y : x); pref[i] = pref[i - 1] + j; if(i >= n && (pref[i] - pref[i - n]) >= 0) { pos = i - 1; break; } if(i >= m && (pref[i] - pref[i - m]) <= 0) { pos = i - 1; break; } } if(mxx < pos) { mxx = pos; vec.clear(); for(int i = 1; i <= pos; i++) { vec.push_back((i % n == 0 ? y : x)); } } } cout << mxx << '\n'; for(auto j : vec)cout << j << ' '; cout << '\n'; }else { int mxx = 0; vector<int> vec; for(int jj = 1; jj <= N; jj++) { int x = -jj, y = jj * m + 1; int pos = N; for(int i = 1; i < N; i++) { int j = (i % m == 0 ? y : x); pref[i] = pref[i - 1] + j; if(i >= n && (pref[i] - pref[i - n]) >= 0) { pos = i - 1; break; } if(i >= m && (pref[i] - pref[i - m]) <= 0) { pos = i - 1; break; } } if(mxx < pos) { mxx = pos; vec.clear(); for(int i = 1; i <= pos; i++) { vec.push_back((i % m == 0 ? y : x)); } } } cout << mxx << '\n'; for(auto j : vec)cout << j << ' '; cout << '\n'; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); Freopen(); int T = 1; cin>>T; while(T --)solve(); } /* */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 592 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 612 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 592 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 764 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 592 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 592 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 592 KB | Execution killed with signal 8 |
2 | Halted | 0 ms | 0 KB | - |