Submission #516387

#TimeUsernameProblemLanguageResultExecution timeMemory
516387leakedSob (COCI19_sob)C++14
49 / 110
1061 ms28392 KiB
#include <bits/stdc++.h> #define f first #define s second #define fast_izho ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define vec vector #define pb push_back #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define sz(x) (int)(x).size() #define pw(x) (1LL<<(x)) #define m_p make_pair //#pragma GCC optimize ("unroll-loops") using namespace std; typedef long long ll; typedef pair<long long,int> pli; typedef pair<int,int> pii; template <class T> bool umin(T &a,const T &b){return (a>b?a=b,1:0);} template <class T> bool umax(T &a,const T &b){return (a<b?a=b,1:0);} const int N=1e6+1; vec<int> g[N]; int mt[N],used[N],tt=1; bool try_kuhn(int v){ if(used[v]==tt) return 0; used[v]=tt; for(auto &z : g[v]){ if(mt[z]==-1){ mt[z]=v;return 1; } } for(auto &z : g[v]){ if(try_kuhn(mt[z])){ mt[z]=v;return 1; } } return 0; } signed main(){ fast_izho; int n,m; cin>>n>>m; // fill(mt,mt+n,-1); // for(int i=0;i<n;i++){ // for(int j=m;j<n+m;j++){ // if((i&j)==i) // g[i].pb(j-m); // } // } // for(int i=0;i<n;i++) // try_kuhn(i),tt++; // for(int i=0;i<n;i++) // cout<<mt[i]<<' '<<m+i<<'\n'; int x=31-__builtin_clz(n); if(pw(x)<n) ++x; x=pw(x); vec<int>b(x,-1); int j=0;int kk=0; for(int i=m;i<m+n;i++){ if(i%x==0) kk=1; j+=(!kk); b[i%x]=i; } for(int i=0;i<n-j;i++) cout<<i<<' '<<b[i]<<endl; // cout<<endl; for(int i=n-1;i>=n-j;i--){ int kt=0; for(int k=m;k<m+j;k++){ if((i&k)==i && b[k%x]!=-1){ b[k%x]=-1; cout<<i<<' '<<k<<endl; kt=1; break; } } assert(kt); } // for(int i=0;i<x;i++) // cout<<i<<' '<<b[i]<<'\n'; return 0; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...