답안 #516387

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
516387 2022-01-21T09:04:52 Z leaked Sob (COCI19_sob) C++14
49 / 110
1000 ms 28392 KB
#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;
}
/*

*/
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 23756 KB Output is correct
2 Correct 15 ms 23732 KB Output is correct
3 Correct 11 ms 23756 KB Output is correct
4 Correct 768 ms 28304 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 23756 KB Output is correct
2 Correct 11 ms 23756 KB Output is correct
3 Correct 11 ms 23724 KB Output is correct
4 Correct 15 ms 23772 KB Output is correct
5 Correct 16 ms 23756 KB Output is correct
6 Correct 372 ms 28392 KB Output is correct
7 Execution timed out 1061 ms 24668 KB Time limit exceeded
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 23756 KB Output is correct
2 Correct 11 ms 23756 KB Output is correct
3 Correct 18 ms 23756 KB Output is correct
4 Correct 13 ms 23756 KB Output is correct
5 Correct 16 ms 23756 KB Output is correct
6 Correct 13 ms 23756 KB Output is correct
7 Correct 12 ms 23756 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 23756 KB Output is correct
2 Correct 15 ms 23732 KB Output is correct
3 Correct 11 ms 23756 KB Output is correct
4 Correct 768 ms 28304 KB Output is correct
5 Correct 22 ms 23756 KB Output is correct
6 Correct 11 ms 23756 KB Output is correct
7 Correct 11 ms 23724 KB Output is correct
8 Correct 15 ms 23772 KB Output is correct
9 Correct 16 ms 23756 KB Output is correct
10 Correct 372 ms 28392 KB Output is correct
11 Execution timed out 1061 ms 24668 KB Time limit exceeded
12 Halted 0 ms 0 KB -