Submission #1147774

#TimeUsernameProblemLanguageResultExecution timeMemory
1147774modwweUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
1 ms584 KiB
//#include "gap.h" #include "messy.h" #pragma GCC optimize("Ofast,unroll-loops") #include<bits/stdc++.h> //#define int long long #define ll long long #define down cout<<'\n'; #define debug cout<<" cucuucucuuu",down #define modwwe int t;cin>>t; while(t--) #define bit(i,j) (i>>j&1) #define sobit(a) __builtin_popcountll(a) #define task2 "ftree" #define task "test" #define fin(x) freopen(x".inp","r",stdin) #define fou(x) freopen(x".out","w",stdout) #define pb push_back #define mask(k) (1<<k) #define checktime cerr << (double)clock() / CLOCKS_PER_SEC * 1000 << " ms"; using namespace std; #define getchar_unlocked getchar mt19937 rd(chrono::steady_clock::now().time_since_epoch().count()); int rand(int l,int r) { return uniform_int_distribution<int>(l,r)(rd); } void phongbeo(); const int inf = 1e16; const ll mod2 = 1e9+7; const ll base=67; ll n, m, s1, s2, s4, s3, sf, k, s5, s6, mx, s7, s8, s9, mx2, res, dem2 = 0, dem = 0, s33, dem3, dem4, mid, l2, r2, center; ll i, s10, s12,k1,k2,k3,s11,lim,w,l,r ; ll kk; ll t; ll el = 19;/* main() { if(fopen(task2".inp","r")) { fin(task2); fou(task2); } if(fopen(task".inp","r")) { fin(task); fou(task); } ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); /// cin>>s1; //int t;cin>>t; while(t--) phongbeo(); // checktime }*/ //unordered_map<string,bool>cnt; vector<int> p,ans; /*void add_element(string s) {dem++; string ss; for(int i=0; i<n; i++) ss=ss+s[p[i]]; cnt[ss]=1; } bool check_element(string s) { dem2++; return cnt[s]; }*/ void build(int l,int r) { if(l==r) return; string s(n, '1'); int mid=l+r>>1; for(int i=l; i<=r; i++) s[i]='0'; for(int i=l; i<=mid; i++) { s[i]='1'; add_element(s); s[i]='0'; } build(l,mid); build(mid+1,r); } void dnc(int l,int r,vector<int>&a) { if(l==r) { ans[a[0]]=l; return; } string s(n, '1'); int mid=l+r>>1; vector<int> left,right; for(auto x:a) s[x]='0'; for(int i=0; i<n; i++) { if(s[i]=='1') continue; s[i]='1'; if(check_element(s))left.pb(i); else right.pb(i); s[i]='0'; } dnc(l,mid,left); dnc(mid+1,r,right); } //void compile_set(){} vector<int> restore_permutation(int N,int w,int r) {n=N; vector<int> a; ans.resize(n); build(0,n-1); compile_set(); for(int i=0;i<n;i++) a.pb(i); dnc(0,n-1,a); return ans; }/* void phongbeo() { cin>>n; for(int i=1; i<=n; i++) p.pb(i-1); shuffle(p.begin(),p.end(),rd); vector<int>kaka=restore_permutation(n,n*7,n*7); for(int i=0; i<n; i++) cout<<p[i]<<" "<<kaka[i],down cout<<dem<<" "<<dem2; } */

Compilation message (stderr)

messy.cpp:27:17: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+16' to '2147483647' [-Woverflow]
   27 | const int inf = 1e16;
      |                 ^~~~
messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...