Submission #1176009

#TimeUsernameProblemLanguageResultExecution timeMemory
1176009LGQ_A3K25medians (balkan11_medians)C++20
100 / 100
16 ms5564 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define db double #define gcd(a,b) __gcd(a,b) #define lcm(a,b) a*b / __gcd(a,b) #define I first #define II second #define pb push_back #define ii pair<int,int> const int INF = 2 * 1e9; const int N = 2e5 + 1; const int MOD = 1e9 + 7; int n, a[N], b[N], l, r, used[N]; int R() { while (r >= 1 && used[r]) r--; return r; } int L() { while (l <= 2 * n - 1 && used[l]) l++; return l; } int32_t main() { #define TASKNAME "" ios_base::sync_with_stdio(0); cin.tie(0); if (fopen(TASKNAME".inp","r" )) { freopen(TASKNAME".inp","r",stdin); freopen(TASKNAME".out","w",stdout); } cin >> n; for (int i = 1; i <= n; i++) cin >> b[i]; vector<int> ans; ans.pb(b[1]); used[b[1]] = 1; l = 1, r = 2 * n - 1; for (int i = 2; i <= n; i++) if (b[i] == b[i - 1]) { ans.pb(L()); ans.pb(R()); used[L()] = used[R()] = 1; } else if (b[i] > b[i - 1]) { ans.pb(R()); used[R()] = 1; if (!used[b[i]]) { ans.pb(b[i]); used[b[i]] = 1; } else { ans.pb(R()); used[R()] = 1; } } else { ans.pb(L()); used[L()] = 1; if (!used[b[i]]) { ans.pb(b[i]); used[b[i]] = 1; } else { ans.pb(L()); used[L()] = 1; } } for (auto u : ans) cout << u << ' '; return 0; }

Compilation message (stderr)

medians.cpp: In function 'int32_t main()':
medians.cpp:32:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |         freopen(TASKNAME".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
medians.cpp:33:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         freopen(TASKNAME".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...