Submission #334946

#TimeUsernameProblemLanguageResultExecution timeMemory
334946tengiz05Nice sequence (IZhO18_sequence)C++17
43 / 100
16 ms11748 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define all(x) (x).begin(), (x).end() #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define PI acos(-1) #define ld long double const int mod = 1e9+7, N = 2e5+5; int msb(int val){return sizeof(int)*8-__builtin_clzll(val);} int a[N], n, m, k; bool used[N]; vector<int> order; int md; void dfs(int u){ used[u] = true; if(u-n >= 0 && !used[u-n])dfs(u-n); if(u+m <= md && !used[u+m])dfs(u+m); order.pb(u); } bool check(int mid){ int i; md = mid; order.clear(); memset(used, 0, sizeof(used)); for(i=0;i<=mid;i++)if(!used[i])dfs(i); for(i=0;i<=mid;i++)a[order[i]] = i; for(i=0;i<=n;i++){ if(i-n >= 0){ if(i==n){ if(a[i]>=0)return false; }else if(a[i]-a[i-n-1] >=0)return false; }else { if(i==m){ if(a[i]>=0)return false; }else if(a[i]-a[i-m-1] >=0)return false; } }return true; } void solve(int test_case){ int i, j; cin >> n >> m; int l = n+m-1-__gcd(n,m); check(l); cout << l << '\n'; for(i=1;i<=l;i++){ cout << -(a[i]-a[i-1]) << ' '; }cout << '\n'; return; } signed main(){ FASTIO; #define MULTITEST 1 #if MULTITEST int ___T; cin >> ___T; for(int T_CASE = 1; T_CASE <= ___T; T_CASE++) solve(T_CASE); #else solve(1); #endif return 0; }

Compilation message (stderr)

sequence.cpp: In function 'void solve(long long int)':
sequence.cpp:45:9: warning: unused variable 'j' [-Wunused-variable]
   45 |  int i, j;
      |         ^
#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...