Submission #982950

# Submission time Handle Problem Language Result Execution time Memory
982950 2024-05-15T06:02:00 Z Muhammad_Aneeq Permutation (APIO22_perm) C++17
91.3333 / 100
2 ms 516 KB
#include "perm.h"
#include <vector>
#include <algorithm>
using namespace std;
vector<int> construct_permutation(long long k)
{
	vector<int>bits;
	for (int i=59;i>=0;i--)
	{
		if ((1ll<<i)&k)
			bits.push_back(i);
	}
	reverse(begin(bits),end(bits));
	int sz=bits.back()+bits.size()-1;
	int st=0,en=sz-1;
	vector<int>ans(sz,0);
	int j=0;
	for (int i=0;i<sz;i++)
	{
		if (j<bits.size()&&bits[j]==st)
			ans[i]=en--,j++;
		else
			ans[i]=st++;
	}
	return ans;
}

Compilation message

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:20:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   if (j<bits.size()&&bits[j]==st)
      |       ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 516 KB Output is correct
5 Partially correct 1 ms 348 KB Partially correct
6 Correct 2 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Partially correct 1 ms 344 KB Partially correct
9 Correct 1 ms 344 KB Output is correct
10 Partially correct 1 ms 344 KB Partially correct
11 Partially correct 1 ms 348 KB Partially correct
12 Partially correct 2 ms 348 KB Partially correct
13 Partially correct 2 ms 348 KB Partially correct