Submission #274599

#TimeUsernameProblemLanguageResultExecution timeMemory
274599NucleistUnscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
5 ms416 KiB
//Self-control leads to consistency. #include <bits/stdc++.h> #include "messy.h" using namespace std; #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") #define flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) #define debug(x) cerr << " - " << #x << ": " << x << endl; #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl; #define all(x) (x).begin(),(x).end() #define sz(x) (ll)x.size() #define ll long long #define INF 1000000000 #define MOD 1000000007 #define pb push_back #define ve vector<ll> #define dos pair<ll,ll> #define vedos vector<dos> //#define rand mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()) #define EPS 0.000001 struct greateri { template<class T> bool operator()(T const &a, T const &b) const { return a > b; } }; void setIO(string s) { ios_base::sync_with_stdio(0); cin.tie(0); freopen((s+".in").c_str(),"r",stdin); freopen((s+".out").c_str(),"w",stdout); } std::vector<int> restore_permutation(int n, int w, int r) { string b; //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); srand(time(NULL)); for (int i = 0; i < n; ++i) { b.pb('0'); } for (int i = 0; i < n; ++i) { b[i]='1'; add_element(b); } compile_set(); vector<int>ans; b.clear(); for (int i = 0; i < n; ++i) { b.pb('0'); ans.pb(-1); } for (int i = 0; i < n; ++i) { string a; a=b; ve jol; for (int j = 0; j < sz(ans); ++j) { if(ans[j]!=-1){ jol.pb(ans[j]); } } for(auto it:jol)a[it]='1'; bool yo=0; ve cur; for (int k = 0; k < n; ++k) { if(a[k]=='0'){ cur.pb(k); /*a[k]='1'; yo=check_element(a); if(yo){ ans[i]=k; break; } a[k]='0';*/ } } int zo=sz(cur); ve zor; while(sz(cur)){ int f=rand()%sz(cur); a[cur[f]]='1'; yo=check_element(a); if(yo){ ans[i]=cur[f]; break; } a[cur[f]]='0'; zor.clear(); for (int i = 0; i < sz(cur); ++i) { if(i!=f){ zor.pb(cur[i]); } } cur=zor; } } vector<int> ans1; ans1.resize(n); for (int i = 0; i < n; ++i) { ans1[ans[i]]=i; } return ans1; }

Compilation message (stderr)

messy.cpp:6: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    6 | #pragma GCC optimization ("O3")
      | 
messy.cpp:7: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    7 | #pragma GCC optimization ("unroll-loops")
      | 
messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:80:10: warning: unused variable 'zo' [-Wunused-variable]
   80 |      int zo=sz(cur);
      |          ^~
messy.cpp: In function 'void setIO(std::string)':
messy.cpp:29:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   29 |  freopen((s+".in").c_str(),"r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
messy.cpp:30:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   30 |  freopen((s+".out").c_str(),"w",stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...