Submission #496005

#TimeUsernameProblemLanguageResultExecution timeMemory
496005mansurNice sequence (IZhO18_sequence)C++14
58 / 100
2047 ms42548 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") #pragma comment(linker, "/stack:200000000") //01001101 01100001 01101011 01101000 01100001 01100111 01100001 01111001 using namespace std; #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define ll long long #define pb push_back #define sz(a) a.size() #define nl '\n' #define popb pop_back() #define ld double #define ull unsigned long long #define ff first #define ss second #define fix fixed << setprecision #define pii pair<int, int> #define E exit (0) const int inf = 1e6, N = 5e5 + 1, mod = 998244353; vector<pii> dir = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; vector<int> adj[N], was(N), ans, cur, tp; bool c; void dfs(int u) { was[u] = 2; for (auto e: adj[u]) { if (!was[e]) { dfs(e); }else if (was[e] == 2) c = 1; } was[u] = 1; tp.pb(u); } bool can(int len, int n, int m) { for (int i = n; i <= len; i++) { adj[i].pb(i - n); } for (int i = m; i <= len; i++) { adj[i - m].pb(i); } for (int i = 0; i <= len; i++) { if (!was[i]) { dfs(i); } } if (c) return 0; reverse(all(tp)); int pref[len + 1], cnt = 0; for (auto e: tp) { pref[e] = cnt++; } for (int i = 1; i <= len; i++) { cur.pb(pref[i] - pref[i - 1]); } return 1; } main() { //freopen("cowrect.in", "r", stdin); //freopen("cowrect.out", "w", stdout); ios_base::sync_with_stdio(NULL); cin.tie(NULL); int t; cin >> t; while (t--) { int n, m; cin >> n >> m; int l = 1, r = N; vector<int> ans; while (l <= r) { int mid = (l + r) / 2; c = 0; tp.clear(); cur.clear(); for (int i = 0; i <= mid; i++) { was[i] = 0; adj[i].clear(); } if (can(mid, n, m)) { ans = cur; l = mid + 1; }else { r = mid - 1; } } cout << sz(ans) << nl; for (auto e: ans) cout << e << ' '; cout << nl; } }

Compilation message (stderr)

sequence.cpp:3: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    3 | #pragma optimize ("g",on)
      | 
sequence.cpp:9: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
    9 | #pragma comment(linker, "/stack:200000000")
      | 
sequence.cpp:73:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   73 | main() {
      | ^~~~
#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...