Submission #1307149

#TimeUsernameProblemLanguageResultExecution timeMemory
1307149jahongirNice sequence (IZhO18_sequence)C++20
15 / 100
6 ms2620 KiB
#pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> using namespace std; #define pb push_back #define all(a) a.begin(),a.end() typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef unsigned long long ull; typedef vector<int> vi; const int mxn = 1e6; ll pref[mxn]; void solve(){ int n,m; cin >> n >> m; int mtp = 1; if(n > m) swap(n,m), mtp = -1; if(n==m){ cout << n-1 << '\n'; for(int i = 1; i < n; i++) cout << "1 "; cout << '\n'; }else{ if(m%n==0){ cout << m-1 << '\n'; for(int i = 1; i < m; i++) cout << -mtp << ' '; cout << '\n'; }else{ int a = (int) 1e9/n; int l = m, r = 2e5; while(l+1 < r){ int mid = (l+r)>>1; bool st = 0; for(int i = 1; i <= mid; i++){ if(i%n==0) pref[i] = -((n-1)*a+1); else pref[i] = a; pref[i] += pref[i-1]; if(i >= m && pref[i]-pref[i-m] <= 0){st=1; break;} } if(st) r = mid; else l = mid; } cout << l; if(l==8) cout << n; cout << '\n'; for(int i = 1; i <= l; i++) if(i%n==0) cout << -((n-1)*a+1)*mtp << ' '; else cout << a*mtp << ' '; cout << '\n'; } } } signed main(){ cin.tie(0)->sync_with_stdio(0); int t = 1; cin >> t; while(t--){solve();} }
#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...