Submission #684791

#TimeUsernameProblemLanguageResultExecution timeMemory
684791mychecksedadNice sequence (IZhO18_sequence)C++17
15 / 100
8 ms592 KiB
#include <bits/stdc++.h> using namespace std; typedef long long int ll; #define pb push_back #define MOD (1e9+7) #define all(x) x.begin(), x.end() const int N = 1e6, K = 20; int n, m, sw = 1; vector<int> ans; void solve(){ cin >> n >> m; sw = 1; if(n < m){ swap(n, m); sw = -1; } if(n % m == 0){ cout << n - 1 << '\n'; for(int i = 0; i < n - 1; ++i) cout << sw << ' '; }else if(min(n, m) == 2){ cout << n + m - 2 << '\n'; for(int i = 0; i < n + m - 2; ++i){ if(i % 2) cout << sw * (n/m + 2) << ' '; else cout << sw * -(n/m+1) << ' '; } }else{ ans.pb(sw * -(n/m+1)); for(int j = 1; j < m - 2; ++j){ if(m % 2){ if(j%2) ans.pb(1); else ans.pb(-1); }else{ if(j==m-3) ans.pb(-2); else if(j%2) ans.pb(1); else ans.pb(-1); } } ans.pb(sw * -(n/m+2)); ans.pb(sw * (n/m+2) * 2); cout << n + m - 2 << '\n'; for(int i = 0; i < n + m - 2; i += m){ for(int k = i; k < min(n + m - 2, i + m); ++k) cout << ans[k % m] << ' '; } } } int main(){ cin.tie(0); ios::sync_with_stdio(0); int t; cin >> t; while(t--){ solve(); cout << '\n'; } 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...