Submission #1116711

#TimeUsernameProblemLanguageResultExecution timeMemory
1116711vjudge1Nice sequence (IZhO18_sequence)C++17
0 / 100
207 ms32600 KiB
#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 = 2e6 + 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) { swap(n, m); vector<int> a; a.push_back(0); int x = -1, y = m - 1, cnt = 0; while(cnt <= N) { ++ cnt; if(cnt % m == 0) { a.push_back(y); }else a.push_back(x); } int pos = N; for(int i = 1; i < N; i++) { pref[i] = pref[i - 1] + a[i]; if(i >= n && (pref[i] - pref[i - n]) >= 0) { pos = i - 1; break; } } cout << pos << '\n'; for(int i = 1; i <= pos; i++) { cout << -a[i] << ' '; } cout << '\n'; }else { vector<int> a; a.push_back(0); int x = -1, y = m - 1, cnt = 0; while(cnt <= N) { ++ cnt; if(cnt % m == 0) { a.push_back(y); }else a.push_back(x); } int pos = N; for(int i = 1; i < N; i++) { pref[i] = pref[i - 1] + a[i]; if(i >= n && (pref[i] - pref[i - n]) >= 0) { pos = i - 1; break; } } cout << pos << '\n'; for(int i = 1; i <= pos; i++) { cout << a[i] << ' '; } cout << '\n'; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); // Freopen(); int T = 1; cin>>T; while(T --)solve(); } /* */

Compilation message (stderr)

sequence.cpp:2: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    2 | #pragma optimize("g", on)
      | 
sequence.cpp: In function 'void Freopen()':
sequence.cpp:10:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     freopen("input.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
sequence.cpp:11:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |     freopen("output.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...