Submission #240934

#TimeUsernameProblemLanguageResultExecution timeMemory
240934SamAndTurnir (COCI17_turnir)C++17
100 / 100
369 ms21752 KiB
#include <bits/stdc++.h> using namespace std; #define m_p make_pair #define all(x) (x).begin(),(x).end() #define sz(x) ((int)(x).size()) #define fi first #define se second typedef long long ll; mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); mt19937 rnf(2106); const int N = 20; struct ban { int i, x; }; bool operator<(const ban& a, const ban& b) { return a.x < b.x; } int n; ban a[(1 << N) + 5]; int ans[(1 << N) + 5]; void solv() { scanf("%d", &n); for (int i = 0; i < (1 << n); ++i) { scanf("%d", &a[i].x); a[i].i = i; } sort(a, a + (1 << n)); int u = 0; for (int i = 0; i < (1 << n); ++i) { if (a[i].x == a[i + 1].x) continue; while ((i + 1) >= (1 << (u + 1))) ++u; for (int j = i; j >= 0; --j) { if (a[j].x != a[i].x) break; ans[a[j].i] = n - u; } } for (int i = 0; i < (1 << n); ++i) printf("%d ", ans[i]); printf("\n"); } int main() { #ifdef SOMETHING freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); #endif // SOMETHING //ios_base::sync_with_stdio(false), cin.tie(0); solv(); return 0; } //while ((double)clock() / CLOCKS_PER_SEC <= 0.9){}

Compilation message (stderr)

turnir.cpp: In function 'void solv()':
turnir.cpp:28:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
turnir.cpp:31:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i].x);
         ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...