Submission #968351

# Submission time Handle Problem Language Result Execution time Memory
968351 2024-04-23T10:33:05 Z batsukh2006 Permutation (APIO22_perm) C++17
64.6308 / 100
13 ms 1628 KB
#include<bits/stdc++.h>
#include "perm.h"
using namespace std;
//#define int long long
#define ff first
#define ss second
vector<int> construct_permutation(long long k){
    int x=0;
    bool ok=0;
    vector<int> v;
    for(long long i=59; i>=0; i--){
    	if(k&(1ll<<i)){
	    	vector<int> c;
	    	if(ok==0){
	    		ok=1;
	    		for(int z=0; z<i; z++,x++){
	    			c.push_back(x);
	    		}
	    	}else{
	    		int s=0;
	    		vector<int> t;
	    		long long need=(1ll<<i)+1;
	    		for(long long z=59; z>=0; z--){
	    			if(need&(1ll<<z)){
	    				vector<int> r;
	    				if(z==0){
	    					r.push_back(x);
	    					x++;
	    				}else{
		    				for(int l=0; l<z; l++,x++){
		    					r.push_back(x);
		    				}
		    			}
		    			for(int j=r.size()-1; j>=0; j--){
		    				t.push_back(r[j]);
		    			}
	    			}
	    		}
	    		for(int j=t.size()-1; j>=0; j--){
		    		c.push_back(t[j]);
		    	}
	    	}
	    	for(int j=c.size()-1; j>=0; j--){
	    		v.push_back(c[j]);
	    	}
	    }
    }
    reverse(v.begin(),v.end());
	return v;
}

Compilation message

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:20:12: warning: unused variable 's' [-Wunused-variable]
   20 |        int s=0;
      |            ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Partially correct 1 ms 348 KB Partially correct
4 Partially correct 2 ms 348 KB Partially correct
5 Partially correct 7 ms 944 KB Partially correct
6 Partially correct 5 ms 604 KB Partially correct
7 Partially correct 7 ms 860 KB Partially correct
8 Partially correct 11 ms 1116 KB Partially correct
9 Correct 1 ms 348 KB Output is correct
10 Partially correct 13 ms 1628 KB Partially correct
11 Partially correct 10 ms 1112 KB Partially correct
12 Partially correct 9 ms 1116 KB Partially correct
13 Partially correct 11 ms 1116 KB Partially correct