Submission #685384

#TimeUsernameProblemLanguageResultExecution timeMemory
685384dranaya_dushaSecret Permutation (RMI19_permutation)C++17
0 / 100
0 ms296 KiB
#pragma GCC optimize ("Ofast") #include <bits/stdc++.h> ////#define int long long //#define mp make_pair //#define pb push_back //#define fi first //#define se second //#define pii pair <int, int> #include "permutation.h" using namespace std; vector<int> ans; bool check (vector<int> &q, int p, int n) { ans.assign(n, 0); vector<int> used(n+1); ans[p]=1; used[1]=1; for (int i=p; i<n-1; i++) if (ans[i]+q[i]<=n && !used[ans[i]+q[i]]){ ans[i+1]=ans[i]+q[i]; used[ans[i]+q[i]]=1; } else if (ans[i]-q[i]>0 && !used[ans[i]-q[i]]) { ans[i+1]=ans[i]-q[i]; used[ans[i]-q[i]]=1; } else return false; for (int i=p; i>0; i--) { if (ans[i] + q[i - 1] <= n && !used[ans[i] + q[i - 1]]){ ans[i - 1] = ans[i] + q[i - 1]; used[ans[i] + q[i - 1]] = 1; } else if (ans[i] - q[i - 1] > 0 && !used[ans[i] - q[i - 1]]) { ans[i-1] = ans[i]-q[i - 1]; used[ans[i] - q[i - 1]] = 1; } else return false; } return true; } void check2(vector<int>&q, int n) { vector<int> a(n); for (int i=1; i<=n; i++) a[i-1]=i; do { bool mark = 1; for (int i=0; i<n-1; i++) if (abs(a[i]-a[i+1])!=q[i]) mark = 0; if (mark){ ans = a; return; } }while (next_permutation(a.begin(), a.end())); } void solve(int n) { vector<int> V = {1, 2}; vector<int> q(n-1); for (int i=0; i<n-1; i++){ q[i] = query(V); V[0]++; V[1]++; } check2(q, n); answer(ans); }

Compilation message (stderr)

stub.cpp: In function 'int query(int*)':
stub.cpp:15:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   fscanf(stdin, "%d", &x);
      |   ~~~~~~^~~~~~~~~~~~~~~~~
stub.cpp: In function 'int main(int, char**)':
stub.cpp:48:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   48 |   fscanf(stdin, "%d", &N);
      |   ~~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...